黑马程序员技术交流社区

标题: 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