OC 中的数组方法(不可变数组NSArray 和 可变数组 NSMutableArray)

来源:互联网 发布:东方财富股票交易软件 编辑:程序博客网 时间:2024/05/17 21:51
<span style="font-size:18px;"><span style="color:#FF0000;">1.数组的价值:</span>存储多个元素. (2)存储的元素只能是对象,对象可以是不同类型的. (3)数组是一个有序的集合. (4)数组中的元素可以重复,而且重复的对象会成为数组元素.       创建数组对象,<span style="color:#FF0000;">1.1使用便利构造器:</span>关键词arrayWithObjectsarrayWithObjects 创建对象时可以指定多个对象元素,元素与元素之间通过逗号进行间隔.nil 作为数组元素存放的结束标志.遇到nil之后,之后的元素都不会放入数组中,例如 NSArray * arr = [NSArray arrayWithObjects  : 在此处添加字符串对象 , 以nil 结束];<span style="color:#FF0000;">1.2使用初始化方法</span>.关键词initWithObjectsNSArray *arr2 = [[NSArray alloc] initWithObjects : 在此处添加字符串对象 , 以nil 结束];<span style="color:#FF0000;">2.NSArray方法</span><span style="color:#FF0000;">2.1 获取元素个数</span>。关键字词是count   例如: NSUInteger count = [arr2 count];NSLog(@"%lu", count);<span style="color:#FF0000;">2.2根据索引值获取对象。</span><span style="color:#FF0000;">2.2.1获取指定下标对应的元素</span> .关键词是objectAtIndex:例如: NSString *str = [arr2 objectAtIndex:0];NSLog(@"str = %@", str);<span style="color:#FF0000;">2.2.2获取数组中的第一个元素</span> .关键词是firstObject例如:NSString *firstObject = [arr2 firstObject];NSLog(@"firstObject = %@", firstObject);<span style="color:#FF0000;">2.2.3获取数组中的最后一个元素 </span>.关键词是lastObejctNSString *lastObejct = [arr2 lastObject];NSLog(@"lastObejct = %@", lastObejct);<span style="color:#FF0000;">2.2.4 获取对象在数组中的索引值</span>。关键词是indexOfObjectNSUInteger index = [arr2 indexOfObject:@"dd"];NSLog(@"index = %lu", index);<span style="color:#FF0000;">2.2.5 判断是否包含某个对象</span> 关键词是containsObject例如:BOOL isExist = [arr2 containsObject:@"dd"];NSLog(@"isExist = %d", isExist);<span style="color:#FF0000;">2.2.6数组排序(幼儿版)</span> 关键词是sortedArrayUsingSelector例如:  NSArray *sortArr = [arr2 sortedArrayUsingSelector:@selector(compare:)];NSLog(@"sortArr = %@", sortArr);<span style="color:#FF0000;">2.2.7 快速遍历(快速枚举)</span> 使用 forin注意forin是用于将集合中的元素遍历出来.for (type *object in collection) {statements}<span style="color:#FF0000;">forin的中 type数组中元素的类型</span>.  object 起一个对象的名字(自己拟定的) . collection :集合(也就是大容器,数组,字典,或者集合)例如 for (int i = 0; i < [arr2 count]; i++) {NSString *str = [arr2 objectAtIndex:i];NSLog(@"%@", str);}<span style="color:#FF0000;">3. NSMutableArray 方法</span><span style="color:#FF0000;">3.1创建数组对象3.1(1):便利构造器</span> 例如 NSMutableArray *arr = [NSMutableArray arrayWithObjects: 在此处添加数组对象 , 以nil 结束];<span style="color:#FF0000;">3.1(2):初始化方法<span style="color:#000000;"> 例如 NSMutableArray *arr1 = [[NSMutableArray alloc] initWithObjects:</span></span></span><span style="font-size:18px;">在此处添加数组对象 , 以nil 结束];</span><span style="font-size:18px;"><span style="color:#FF0000;"><span style="color:#000000;"></span>3.2 给数组添加对象</span>  关键字是addObject例如 Book *book= [[Book alloc] initWithName:@"iOS高高级编程" author:@"Frank" price:300];        [arr addObject:book];<span style="color:#FF0000;">3.3删除数组中的一个对象</span> 关键词是removeObjectAtIndex例如 [arr  removeObjectAtIndex:0];<span style="color:#FF0000;">3.4查找数组中的对象</span> 关键词isEqualToString用forin 获取到数组中的元素,然后对比名字,如果相同就输出名字.例如 for (Book *book in arr) {             if ([[book name] isEqualToString:@"iOS高级编程"]) {                NSLog(@"查找成功");            }        }<span style="color:#FF0000;">3.5输出数组中所有对象</span> 用forin例如 输出书籍清单(书名for (Book *book in arr) {            NSLog(@"%@", [book name]);        } <span style="color:#FF0000;">注意:如果想一次性输出数组所有内容则要重写从父类继承过来的description方法当打印该类的对象时,系统会自动调用该方法.</span><span style="color:#3333FF;"><span style="background-color: rgb(255, 255, 255);">例如- (NSString *)description{       return [NSString stringWithFormat:@"%@ %@ %g", _name, _author, _price];}%g可以忽略无用的0</span></span></span>

0 0
原创粉丝点击