黑马程序员技术交流社区
标题:
Objective-c数组(NSArray)和集合(NSSet)
[打印本页]
作者:
hezerongrocky
时间:
2016-2-21 17:56
标题:
Objective-c数组(NSArray)和集合(NSSet)
Objective-c数组(NSArray)和集合(NSSet)
一.NSArray 是数组类。在数组中,必须以nil结束。NSArray数组类上的方法有:
+arrayWithObjects:(id) firstobj;//声明数组。后面是各个元素 ,以nil结束
-(unsigned)count;//数组中的元素个数
-(id) objectAtIndex:(unsigned)index;//指定位置的元素
-(unsigned) indexofObject:(id) object;//指定数组中的位置
NsArray *city=[NSArray arrayWithObjects:@"北京",@“上海”,@”湖北“,nil];
if([city indexofObject:@"杭州"]==NSNotFound){
NSLog(@”杭州未在其中“);
}
二.NSArray是一个静态的数组,不能往数组动态添加元素。你可以使用NSMutableArray来动态管理数组。NSMutableArray是NSArray的子类。NSMutableArray的常用方法中:
+(NSMutableArray *)array;//声明一个数组
(void)addObject:(id)object;//添加一个元素
(void)removeObject:(id)object;//从数组中删除指定的元素
(void) removeAllObjects;//删除所有元素
(void)insertObject:(id)object atIndex:(unsigned)index;//在指定位置添加新元素
例如:执行完下面代码后的数组只包含两个元素:”上海“和“湖北”。
NSmutableArray *city=【【NSMutableArray alloc】init];
[city addObject:@"北京"];
[city addObject:@"上海"];
[city addObject:@"湖北"];
[city removeObjectAtIndex:1];
同数组相比,集合是一个无序的;不同元素的集合。数组中的元素可以重复,但是集合不同。在Objective—C上, NSSet类实现了集合的概念,其方法有:
+setWithObjects:(id) firstobj,...;//声明集合,后面是各个元素,以nil结束
-(unsigned)count;//返回集合的个数
-(BOOL)containsObject:(id)object;//判断指定对象是否包含在集合中
同数组类似,NSSet本身也是不可修改的集合。NSMutableSet是相应的可修改的集合,其方法有:
+(NSMutableSet * )set;//声明一个集合
- (void)addObject:(id)object;//添加一个元素到集合
-(void)removeObject(id)object;//从集合中删除一个元素
-(void)removeAllObjects;//删除集合中的所有元素
-(void)intersectSet:(NSSet *)otherSet;//;两个集合的交集
//集合-指定集合(即:所有不在既定集合中的元素)
-(void)minusSet:(NSSet *)otherSet;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2