iOS开发中,如果能了解OC对象的特性,合理的使用适合的对象,会很大程度简化代码的复杂度和代码量。
OC对象就是一个个类,最常用的是NSArray,NSMutableArray,NString,NSutableString,NSDictionary,NSMutableDictionary。根据类名,就可以知道该类是什么类型的。下面给大家简单介绍一下这些OC对象,但不会太深入的讲解对象的使用方法,自己去看API会更有效果。
首先是NString,NSutableString。它们都是字符串对象。区别是前者是不可变的,后者是可变的。NSString不是表示这个对象声明的变量的值不可变,而是表示它初始化以后,你不能改变该变量所分配的内存中的值,但你可以重新分配该变量所处的内存空间。举个例子:
NSString * str = @"lee is a loner.";
str初始化成功,你不可以更改@"lee is a loner."但你可以做如下操作:
str = @"lee was going die alone."
这样是没错的。
NSString是很强大的,它对字符串的处理比C语言的处理简便的多。因为它是一个类,苹果给我们封装了好多实用的方法,比如:把一个字符串添加到另一个字符串的末尾,统计字符串的个数,判断两个字符串是否相等,截取指定的字符串等。
NSutableString是一个可变字符串,意味着你可以追加它的内存空间,或者修改它所分配的内存空间中的值。它是NSString的子类,所以NSString的方法它也有。它比NSString多了增删改查等功能,具体的方法实现请查阅API。
接着说说NSArray,NSMutableArray,它们是数组对象,字面区别同上,但是OC的数组只能存取对象,所以基本数据类型是不可以存到数组里面的,要想存基本数据类型的 可以转成NSNumber或NSString。数组对象也不能存nil,因为nil在数组中是作为结束标志的。使用方法自行查找API。
最后说说NSDictionary,NSMutableDictionary,他们是字典对象,字面区别同上。字典是key-value一个形式的集合,它是无序的,意思是对一个字典全部输出的顺序可能不一样,当然也没办法对字典进行位置索引什么的。字典是一个多对一的集合,只能存在一个value。此外,字典和数组一样,只能存取对象。关于字典的一些方法自行查找API。