NSArray常用方法
2016-02-15 23:16
316 查看
#pragma mark 创建数组 void arrayCreate() { // 创建一个空数组 NSArray *array = [NSArray array]; // 创建有一个元素的数组 array = [NSArray arrayWithObject:@"123"]; // 创建有多个元素的数组 array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil]; // 获取数组元素的个数 NSUInteger count = [array count]; NSLog(@"%zi", count); } #pragma mark 数组的简单使用 void arrayUse() { NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil]; // 判断数组是否包含了某个元素 if ([array containsObject:@"a"]) { NSLog(@"包含了字符串a"); } else { NSLog(@"没有包含字符串a"); } // 获取数组的最后一个元素 NSString *last = [array lastObject]; NSLog(@"%@", last); // 根据数组的下标取值 NSString *indexValue = [array objectAtIndex:0]; NSLog(@"%@", indexValue); // 查找元素在数组里的位置 NSUInteger index = [array indexOfObject:@"a"]; NSLog(@"%zi", index); // 让数组里面的所有对象都调用test方法 [array makeObjectsPerformSelector:@selector(test)]; } #pragma mark 遍历数组1(普通遍历) void arrayFor1() { NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil]; NSUInteger count = array.count; for (int i = 0; i < count; i++) { id obj = [array objectAtIndex:i]; NSLog(@"%i - %@", i, obj); } } #pragma mark 遍历数组2(快速遍历) void arrayFor2() { NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil]; int i = 0; // 快速遍历 for (id obj in array) { NSLog(@"%i - %@", i, obj); i++; } } #pragma mark 遍历数组3(block遍历,官方推荐) void arrayFor3() { NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil]; [array enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { NSLog(@"%zi - %@", idx, obj); if (idx == 1) { *stop = YES; // 能让遍历停止 } }]; } #pragma mark 遍历数组4(迭代器遍历) void arrayFor4() { NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil]; // 获取数组的迭代器 // NSEnumerator *enumerator = [array objectEnumerator]; // 反序迭代器 NSEnumerator *enumerator = [array reverseObjectEnumerator]; // 获取迭代器里面没有被遍历的的所有值 NSArray *array2 = [enumerator allObjects]; NSLog(@"%@", array2); id obj = nil; // 获取下一个需要遍历的元素 while (obj = [enumerator nextObject]) { NSLog(@"%@", obj); } } #pragma mark 派生出新的数组 void arrayNew() { NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil]; // 添加一个元素到数组 NSArray *array2 = [array arrayByAddingObject:@"d"]; NSLog(@"%@", array2); // 组合两个数组成新的数组 NSArray *array3 = [array arrayByAddingObjectsFromArray:[NSArray arrayWithObjects:@"d", @"e", nil]]; NSLog(@"%@", array3); // 截取数组某一部分 NSRange range = NSMakeRange(0, 2); NSArray *array4 = [array subarrayWithRange:range]; NSLog(@"%@", array4); } #pragma mark 数组的其他用法 void arrayOther() { NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil]; // 用一个字符串拆分数组成字符串 NSString *str = 4000 [array componentsJoinedByString:@","]; NSLog(@"%@", str); // 把数组写到文件里去 NSString *path = @"/Users/admin/Desktop/array.xml"; if ([array writeToFile:path atomically:YES]) { NSLog(@"写入文件成功"); } else { NSLog(@"写入文件失败"); } // 从文件中读取数组内容(文件有严格的格式要求) NSArray *array2 = [NSArray arrayWithContentsOfFile:@"/Users/admin/Desktop/array.xml"]; NSLog(@"%@", array2); }
相关文章推荐
- array 排序
- NSData和NSMutableData
- OC学习之--字符串类&数组类&值对象
- NSArray的排序和乱序
- IOS开发-Foundation笔记
- 字面量语法的好处
- Objective-C字符串与数组
- Swift入门 05数组
- NSString/NSArray/NSDictionary/NSSet方法的总结
- NSArray / NSDictionary 的基本介绍和使用
- Object-c之不可变数组
- ios 打印出所有的字体
- 【学习中的分享】 iOS利用UILabel和UIButton制作一个简单的计算器
- NSArray 演示(无注释)
- NSString NSArray的用法
- 渣蜀黍 - iOS 个人笔记(一)_数据处理
- 黑马程序员-ios学习笔记 Foundation 中的 NSArray
- UITableView的Cell排序
- Foundation-NSArray
- Fundation框架(Er)--数组对象常用的处理方法