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的内存分配会成倍的增加


~~不断更新中~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容