黑马程序员——Objective-C学习之不可变与可变集合(NSArray\NSMutableArray)

时间:2021-11-03 00:19:01

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、NSArray

1> NSArray是一个集合类,相当于是OC数组。

用来存储对象的有序列表;

以面向对象操纵数组;

只能存放OC对象类型,不能存放基本数据类型,同时也不能存储nil(对象的零值或NULL值);

NSArray是不可变数组。

 

2> 常用方法:

创建一个新的NSArray

+ (instancetype)arrayWithObjects:(const id [])objects count:(NSUInteger)cnt;

 

获得包含的对象\元素个数:

- (NSUInteger)count; // get方法,可以直接用点语法


 

获得特定索引处的对象:

- (id)objectAtIndex:(NSUInteger)index; // 访问数组中第index个元素,也可以直接  数组名[index]; 编译器特性,自动展开为前面的代码


 

找出anObject对象元素在数组中的位置:

- (NSUInteger)indexOfObject:(id)anObject;


 

切分数组:

- (NSArray *)componentsSeparatedByString:(NSString *)separator; // NSString对象通过componentsSeparatedByString:方法以传入字符串为依据来分割字符串,返回一个数组
- (NSString *)componentsJoinedByString:(NSString *)separator; // NSArray对象合并数组中的元素并创建字符串

 

二、NSMutableArray

常用方法:

可变数组NSMutableArray通过类方法arrayWithCapacity:来创建可变数组:

+ (instancetype)arrayWithCapacity:(NSUInteger)numItems;


 

使用addObject:在数组末尾添加对象:

- (void)addObject:(id)anObject;


 

删除特定索引的对象:

- (void)removeObjectAtIndex:(NSUInteger)index;


 

删除某个元素,指定对象:

- (void)addObject:(id)anObject;


 

删除数组中所有元素:

- (void)removeAllObjects;