程序中我们经常会处理大量的数据,这些数据可能是基本类型,如int、float,也有可能是自己实现的类。于是,我们就会用到,能够容纳并且处理这些数据的容器。在Objective-c中,准确的说是Foundation库中,已经为我们提供了比较好用的容器。主要有NSArray、NSSet和NSDictionary,以及他们的Mutable子类。
他们功能的特点是
一、能够容纳任何继承自NSObject的对象的实例。也就是说能够容纳NSNumber对象,那是不能往任何一个容器中装入一个int类型。(在IOS6中有NSPointArray可以做这件事情)。
二、所有不可变容器都是线程安全的,而带有Mutable的可变容器都是线程不安全的,在使用的时候需要注意。
三、可以快速的序列化到文件中,和从文件中反序列化。
四、可以使用NSFastEnumertaion来快速枚举。
例如:
NSArray *array = [string componentsSeparatedByString:@","];
NSLog(@"array:%@",array);
[string release];
//数组变字符串
NSString *string1 = [array componentsJoinedByString:@","];
NSLog(@"string1:%@",string1);
[string1 release];
//枚举
NSEnumerator *enumerator;
enumerator =[array objectEnumerator];
id thingie;
while (thingie = [enumerator nextObject])
{
NSLog(@"i found %@",thingie);
}