#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//数组的添加
NSArray *array1 = [NSArray arrayWithObjects:@"one",@"two", nil];
NSLog(@"array1 = %@", array1);
//给数组添加一个元素 需要接收该方法返回值
//不是直接添加 而是临时创建一个新的数组
array1 = [array1 arrayByAddingObject:@"three"];
NSLog(@"array = %@", array1);
//给数组添加多个元素
array1 = [array1 arrayByAddingObjectsFromArray:@[@"four", @"five", @"six"]];
NSLog(@"array1 = %@", array1);
//数组的提取
//提取数组中指定范围的元素
NSArray *subArray1 = [array1 subarrayWithRange:NSMakeRange(2, 3)];
NSLog(@"subArray1 = %@",subArray1);
//创建一个可变的下标集合对象
NSMutableIndexSet *indexSet = [NSMutableIndexSet indexSetWithIndex:1];
//给一个可变集合对象添加元素
[indexSet addIndex:3];
[indexSet addIndex:4];
NSArray *subArray2 = [array1 objectsAtIndexes:indexSet];
NSLog(@"subArray2 = %@", subArray2);
//以字符串整体进行分割
NSString *str = @"get out the way";
NSArray *array2 = [str componentsSeparatedByString:@" "];
NSLog(@"array2 = %@", array2);
//自定义分割符进行分割
// NSString *str1 = @"get :out :the :way";
// NSString *array3 = [str1 componentsSeparatedByString:@" :"];
// NSLog(@"array3 = %@", array3);
//数组的遍历
NSArray *sortArray = @[@"hello", @"how", @"are", @"you", @"today"];
//方法一 通过数组元素的下标进行遍历数组
NSInteger cnt = [sortArray count];
for (NSInteger i = 0; i < cnt; i++) {
NSLog(@"%@", [sortArray objectAtIndex:i]);
}
//方法二: 枚举器法
//创建一个倒序的枚举器
NSEnumerator *reverseEnum = [sortArray reverseObjectEnumerator];
id obj = nil;
while(obj = [reverseEnum nextObject]) {
NSLog(@"obj = %@", obj);
}
//创建一个正序的枚举器
NSEnumerator *enumerator = [sortArray objectEnumerator];
id obj2 = nil;
while (obj2 = [enumerator nextObject]) {
NSLog(@"obj2 = %@", obj2);
}
//方法三 快速枚举法
//判断
for (id obj3 in sortArray) {
NSLog(@"快速枚举法 obj3 = %@", obj3);
}
}
return 0;
}