iOS开发-NSArray
<div class="cnblogs_code"><pre>忙了一上午,解决了几个bug,现在终于抽出来一点时间喝点水休息下, 想着系列这么浩大的一个工程,才刚刚开始写,不能断了,就跟写小说一样,既然是系列,那么就需要不停更... 好吧. 简单的说说iOS开发中的数组-<span style="color: rgba(0, 0, 0, 1)">NSArray
首先 OC的数组比C</span>++,Java的数组强大在于,NSArray保存的对象可以是不同的对象。但只能保存对象,<span style="color: rgba(0, 0, 255, 1)">int</span> ,<span style="color: rgba(0, 0, 255, 1)">char</span><span style="color: rgba(0, 0, 0, 1)">,double等基本数据类型不能直接保存,需要通过转换成对象才能加入数组。 类似于之前说的字符串一样,OC的数组也有两种,可变数组和不可变数组 一步一步来, 首先是NSArray的创建 我们可以从NSArray的类里面看到很多类方法的创建和实例方法的创建
</span><span style="color: rgba(0, 0, 255, 1)">@interface</span> NSArray<ObjectType><span style="color: rgba(0, 0, 0, 1)"> (NSArrayCreation)
</span>+<span style="color: rgba(0, 0, 0, 1)"> (instancetype)array;
</span>+<span style="color: rgba(0, 0, 0, 1)"> (instancetype)arrayWithObject:(ObjectType)anObject;
</span>+ (instancetype)arrayWithObjects:(<span style="color: rgba(0, 0, 255, 1)">const</span><span style="color: rgba(0, 0, 0, 1)"> ObjectType [])objects count:(NSUInteger)cnt;
</span>+<span style="color: rgba(0, 0, 0, 1)"> (instancetype)arrayWithObjects:(ObjectType)firstObj, ... NS_REQUIRES_NIL_TERMINATION;
</span>+ (instancetype)arrayWithArray:(NSArray<ObjectType> *<span style="color: rgba(0, 0, 0, 1)">)array;
</span>-<span style="color: rgba(0, 0, 0, 1)"> (instancetype)initWithObjects:(ObjectType)firstObj, ... NS_REQUIRES_NIL_TERMINATION;
</span>- (instancetype)initWithArray:(NSArray<ObjectType> *<span style="color: rgba(0, 0, 0, 1)">)array;
</span>- (instancetype)initWithArray:(NSArray<ObjectType> *<span style="color: rgba(0, 0, 0, 1)">)array copyItems:(BOOL)flag;
</span>+ (nullable NSArray<ObjectType> *)arrayWithContentsOfFile:(NSString *<span style="color: rgba(0, 0, 0, 1)">)path;
</span>+ (nullable NSArray<ObjectType> *)arrayWithContentsOfURL:(NSURL *<span style="color: rgba(0, 0, 0, 1)">)url;
</span>- (nullable NSArray<ObjectType> *)initWithContentsOfFile:(NSString *<span style="color: rgba(0, 0, 0, 1)">)path;
</span>- (nullable NSArray<ObjectType> *)initWithContentsOfURL:(NSURL *<span style="color: rgba(0, 0, 0, 1)">)url;
</span><span style="color: rgba(0, 0, 255, 1)">@end</span><span style="color: rgba(0, 0, 0, 1)">
复制代码
我们仿照着之前NSString的方式,随便列举一些例子看看,
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">init</span>
NSArray *arr1 =<span style="color: rgba(0, 0, 0, 1)"> [init];
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr1);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">array</span>
NSArray *arr2 =<span style="color: rgba(0, 0, 0, 1)"> ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr2);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">arrayWithObject</span>
NSArray *arr3 = ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr3);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">arrayWithObjects:</span>
NSArray *arr4 = ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr4);
NSArray </span>*arr5 = @[<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">arr5</span><span style="color: rgba(128, 0, 0, 1)">"</span>,<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">arr5</span><span style="color: rgba(128, 0, 0, 1)">"</span>,<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">arr5</span><span style="color: rgba(128, 0, 0, 1)">"</span>,<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">arr5</span><span style="color: rgba(128, 0, 0, 1)">"</span>,<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">arr5</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">];
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr5);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">initWithObjects:</span>
NSArray *arr6 = [initWithObjects:<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">arr6</span><span style="color: rgba(128, 0, 0, 1)">"</span>,<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">arr6</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">, nil];
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr6);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">arrayWithArray:</span>
NSArray *arr7 =<span style="color: rgba(0, 0, 0, 1)"> ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr7);
当然创建的方式不单单这些,比如从文件里面读取数组,网络访问返回的数组... 这些都在具体的例子中再对应创建...
接下来再说说NSArray的一些常用方法.
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">常用方法
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">count(读取数组元素个数)</span>
NSLog(<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%ld</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">objectAtIndex:(读取下标对应的元素,,,也可以用[]C的方式直接读取)</span>
NSLog(<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@,%@</span><span style="color: rgba(128, 0, 0, 1)">"</span>,,arr7[<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">]);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">arrayByAddingObject:(追加一个元素,返回新的数组)</span>
NSArray *arr8 = ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr8);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">arrayByAddingObjectsFromArray: (追加多个元素,返回新的数组)</span>
NSArray *arr9 =<span style="color: rgba(0, 0, 0, 1)"> ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr9);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">componentsJoinedByString: (使用某字符串合并数组元素成一个新的字符串)</span>
NSLog(<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span>,);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">containsObject:(数组中是否有某元素)</span>
NSLog(<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%d</span><span style="color: rgba(128, 0, 0, 1)">"</span>,);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">indexOfObject (某元素对应的下标)</span>
NSLog(<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%ld</span><span style="color: rgba(128, 0, 0, 1)">"</span>,);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">indexOfObject:inRange:(对应范围内的某元素的下标)</span>
NSLog(<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%ld</span><span style="color: rgba(128, 0, 0, 1)">"</span>,);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">isEqualToArray: (两个数组是否相等)</span>
NSLog(<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%d</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">firstObject(第一个元素)</span>
NSLog(<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">lastObject(最后一个元素)</span>
NSLog(<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">objectsAtIndexes(对应的多个下标的多个元素)</span>
NSLog(<span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span>,]);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">数组遍历
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">for循环</span>
<span style="color: rgba(0, 0, 255, 1)">for</span> (<span style="color: rgba(0, 0, 255, 1)">int</span> i = <span style="color: rgba(128, 0, 128, 1)">0</span>; i<arr9.count; i++<span style="color: rgba(0, 0, 0, 1)">) {
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr9);
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">for in</span>
<span style="color: rgba(0, 0, 255, 1)">for</span> (<span style="color: rgba(0, 0, 255, 1)">id</span> obj <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> arr9) {
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,obj);
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">迭代器</span>
NSEnumerator *enumerator =<span style="color: rgba(0, 0, 0, 1)"> ;
</span><span style="color: rgba(0, 0, 255, 1)">id</span> obj =<span style="color: rgba(0, 0, 0, 1)"> nil;
</span><span style="color: rgba(0, 0, 255, 1)">while</span>(obj =<span style="color: rgba(0, 0, 0, 1)"> ){
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,obj);
}
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">block</span>
[arr9 enumerateObjectsUsingBlock:^(<span style="color: rgba(0, 0, 255, 1)">id</span>_Nonnull obj, NSUInteger idx, BOOL *<span style="color: rgba(0, 0, 0, 1)"> _Nonnull stop) {
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%ld-%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,idx,obj);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">若终断循环
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">*stop = YES;</span>
<span style="color: rgba(0, 0, 0, 1)"> }];
当然以上的方法都是一些基础的方法,经常会在项目中使用的方法..还有些不常用的和系统没有提供的需要在平时开发中再做积累, 当然我刚刚也说了数组的遍历,上面也举例了几个,后期我会单独对其进行分析,比较各自的优缺点和性能.这里暂不描述
接下来学习的是NSArray的子类 可变数组NSMutableArray 还是类似的学习方式,创建</span>+<span style="color: rgba(0, 0, 0, 1)">常用方法 首先是创建
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">init</span>
NSMutableArray *arr10 =<span style="color: rgba(0, 0, 0, 1)"> [init];
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr10);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">array</span>
NSMutableArray *arr11 =<span style="color: rgba(0, 0, 0, 1)"> ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr11);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">arrayWithCapacity:(创建初始长度为多少的数组,但因为其实可变数组,所以即使长度不够什么的,也没有关系,比如可以设0)</span>
NSMutableArray *arr12 = ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr12);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">initWithCapacity:</span>
NSMutableArray *arr13 = [initWithCapacity:<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">];
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
复制代码
当然因为其作为NSArray的子类,所以NSArray创建的方式,它也都有 这里就不一一举例了
常用方法:
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">addObject:(添加一个元素)</span>
;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">addObjectsFromArray: (添加一组元素)</span>
<span style="color: rgba(0, 0, 0, 1)"> ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">insertObject:atIndex(在某下标插入某一个元素)</span>
;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">removeLastObject (删除最后一个元素)</span>
<span style="color: rgba(0, 0, 0, 1)"> ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">removeObjectAtIndex:(删除某下标对应的元素)</span>
;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">replaceObjectAtIndex:withObject (替换某下标的元素)</span>
;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">exchangeObjectAtIndex:withObjectAtIndex: (替换两个下标对应元素)</span>
;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">removeAllObjects (移除所有元素)</span>
<span style="color: rgba(0, 0, 0, 1)"> ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">removeObject:inRange:(移除某范围内指定元素)</span>
;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">removeObject: (移除指定元素)</span>
;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">removeObjectsInArray: (删除某数组内存在的元素)</span>
<span style="color: rgba(0, 0, 0, 1)"> ;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">removeObjectsInRange:(删除指定范围内的元素)</span>
;
NSLog(</span><span style="color: rgba(128, 0, 0, 1)">@"</span><span style="color: rgba(128, 0, 0, 1)">%@</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">,arr13);
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">setArray: (设置数组元素)</span>
<span style="color: rgba(0, 0, 0, 1)"> ;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">sortUsingSelector:(排序)</span>
<span style="color: rgba(0, 0, 0, 1)"> ;
当然还是一样的,凡是NSAarray的方法,NSMutableArray也都是支持的,方法很多有很多没有,需要在开发中自己积累,当然百度,谷歌...也都是方法的来源.... 常用方法基本就是这些,其实复杂的,特殊需求的方法绝大多数也是基于这些演变而来...
至于上面也有说道排序, 大家都学过C语言,肯定都能脱口而出冒泡\选择\插入... 当然OC中也是有排序的方法的,sortUsingSelector: sortUsingComparator:等等,后续也会单独举例...
今天就到这里.. 接下来讲的是key</span>-<span style="color: rgba(0, 0, 0, 1)">value 也就是OC中的NSDictionary... 我想大家也都知道了 可变,不可变.....
Demo地址:github.com</span>/spicyShrimp…</pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/Free-Thinker/p/11327791.html
頁:
[1]