iOS中你不曾注意到的細節問題

1.NSString的rangeOfString方法的使用

看如下代碼:


輸出結果如下:


顯然test中不包含xx,但是結果不對,爲什麼呢,因爲在test字符串爲nil的時候,在調用rangeOfString的時候,得到的NSRange的結果是這樣的:


由此可見,location的值爲0,而NSNotFound的值爲9223372036854775807,即LONG_MAX的值,所以在字符串爲nil的時候,使用NSString的rangeOfString方法時候,要先判斷下非nil,否則location永遠都不等於NSNotFound!


2.[[NSMutableArray alloc]initWithCapacity:1];

內存優化,initWithCapacity這個方法不經常使用,一般用來定義固定內存,如果直接用init,給array的內存分配會成倍的增加


~~不斷更新中~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章