首页 > 代码库 > NSMutableArray的使用
NSMutableArray的使用
NSMutableArray是可变的NSArray,是NSArray的子类,可以随意的添加或者删除元素.
创建NSMutableArray
- + (id)arrayWithCapacity:(NSUInteger)numItems
- - (id)initWithCapacity:(NSUInteger)numItems
也可以使用创建NSArray的方法来创建NSMutableArray
NSMutableArray添加元素
- - (void)setArray:(NSArray *)otherArray //设置集合元素
- - (void)addObject:(id)anObject //添加一个元素
- - (void)addObjectsFromArray:(NSArray *)otherArray //添加otherArray的全部元素到集合中
- - (void)insertObject:(id)anObject atIndex:(NSUInteger)index //在index位置插入一个元素
- - (void)insertObjects:(NSArray *)objects atIndexes:(NSIndexSet *)indexes //在indexes指定的位置分别插入objects中的元素
当一个元素被加到集合时,会执行一次retain操作;当一个元素从集合中移除时,会执行一次release操作;当集合被销毁时(调用了dealloc),集合里的所有元素都会执行一次release操作(这个原则还适用于其他集合:NSDictionary/NSSet等).
NSMutableArray删除元素
- - (void) removeLastObject //删除最后一个元素
- - (void)removeAllObjects //删除所有的元素
- - (void)removeObjectAtIndex:(NSUInteger)index //删除index位置的元素
- - (void)removeObjectsAtIndexs:(NSIndexSet *)indexes //删除indexes位置的所有元素
- - (void)removeObject:(id)anObject //删除特定的元素
- - (void)removeObject:(id)anObject inRange:(NSRange)range //在range范围内查找特定的元素进行删除
- - (void)removeObjectsInArray:(NSArray *)otherArray //删除同时存在于otherArray和当前集合中的所有元素
- - (void)removeObjectsInRange:(NSRange)range //删除range范围内的所有元素
NSMutableArray替换元素
- - (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject //用anObject替换index位置对应的元素
- - (void)replaceObjectsAtIndexes:(NSIndexSet *)indexes withObjects:(NSArray *)objects //用objects中的元素分别替换indexes对应位置的元素
- - (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray *)otherArray range:(NSRange)otherRange //用otherArray中otherRange范围内的元素替换当前集合range范围内的元素
- - (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray *)otherArray //用otherArray中的元素替换当前集合range范围内的元素
- - (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2 //交换idx1和idx2位置的元素
NSMutableArray排序
- - (void)sortUsingDescriptors:(NSArray *)sortDescriptors
- - (void)sortUsingComparator:(NSComparator)cmptr
- - (void)sortUsingSelector:(SEL)comparator
用法参考NSArray的排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。