美文网首页
NSArray的使用

NSArray的使用

作者: boboliu123 | 来源:发表于2018-06-19 17:31 被阅读0次

一、NSArray的创建

    //数组是一个有序的集合,在OC的数组中只能够存储对象,但是对象的类型没有限制。
    //创建不可变数组
    NSArray *arr1 = [[NSArray alloc] init];
    NSArray *arr2 = [[NSArray alloc] initWithObjects:@"1", @"2", @"3", nil];
    NSArray *arr3 = [[NSArray alloc] initWithArray:@[@"1", @"2"]];
    NSArray *arr4 = [NSArray array];
    NSArray *arr5 = [NSArray arrayWithObjects:@"4", @"5", nil];
    NSArray *arr6 = [NSArray arrayWithArray:@[@"6"]];
    NSArray *arr7 = @[@"1", @"2", @"6"];

二、NSArray常用的属性和方法

    NSArray *arr = @[@"123", @"456", @"789"];
    //数组中元素的个数
    NSLog(@"%ld", arr.count);
    //数组中第一个对象
    NSLog(@"%@", arr.firstObject);
    //数组中最后一个对象
    NSLog(@"%@", arr.lastObject);
2018-06-19 16:15:19.332572+0800 NSArrayDemo[12838:1098517] 3
2018-06-19 16:15:19.332769+0800 NSArrayDemo[12838:1098517] 123
2018-06-19 16:15:19.333513+0800 NSArrayDemo[12838:1098517] 789
    NSArray *arr = @[@"123", @"456", @"789"];
    NSArray *arr1 = @[@"345", @"789", @"123"];
    //获取某个下标的对象
    NSLog(@"%@", [arr objectAtIndex:1]);
    //获取某个对象在该数组中的位置
    NSLog(@"%ld", [arr indexOfObject:@"789"]);
    //数组中是否包含某个对象
    NSLog(@"%d", [arr containsObject:@"456"]);
    //把数组中的对象以‘#’连接起来返回值是一个字符串
    NSLog(@"%@", [arr componentsJoinedByString:@"&"]);
    //判断两个数组是否相等
    NSLog(@"%d", [arr isEqualToArray:arr1]);
    //遍历数组
    //obj:表示当前对象
    //idx:表示当前对象的下标
    //stop:设置当前对象遍历结束的时候是否结束当前的遍历
    [arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        NSLog(@"%@", obj);
    }];
    //排序
    //把数组中的元素从小到大进行排序
    NSArray *sortArr = [arr1 sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        return [obj1 compare:obj2];
    }];
    NSLog(@"%@", sortArr);
2018-06-19 16:50:23.718423+0800 NSArrayDemo[14490:1197734] 456
2018-06-19 16:50:23.718728+0800 NSArrayDemo[14490:1197734] 2
2018-06-19 16:50:23.719182+0800 NSArrayDemo[14490:1197734] 1
2018-06-19 16:50:23.719750+0800 NSArrayDemo[14490:1197734] 123&456&789
2018-06-19 16:50:23.719859+0800 NSArrayDemo[14490:1197734] 0
2018-06-19 16:50:23.720016+0800 NSArrayDemo[14490:1197734] 123
2018-06-19 16:50:23.720504+0800 NSArrayDemo[14490:1197734] 456
2018-06-19 16:50:23.721481+0800 NSArrayDemo[14490:1197734] 789
2018-06-19 16:50:23.722162+0800 NSArrayDemo[14490:1197734] (
    123,
    345,
    789
)

三、NSMutableArray常用的属性和方法

//NSMutableArray继承于NSArray,因此NSArray中的所有属性和方法在NSMutableArray中依然适用
    //NSMutableArray:是可变数组,创建之后可以给这个数组添加元素,删除元素等操作。
    //NSArray:是不可变数组,一旦创建不可以更改数组中元素内容
    NSMutableArray *mutableArr = [NSMutableArray array];
    NSLog(@"%@", mutableArr);
    
    //向数组中添加对象 注意:默认添加对象在数组的最后
    [mutableArr addObject:@"123"];
    NSLog(@"%@", mutableArr);
    //向数组某个位置插入元素  注意:插入的位置不能超过当前数组的个数
    [mutableArr insertObject:@"0" atIndex:1];
    NSLog(@"%@", mutableArr);
    //把一个数组中的元素全部添加到本数组中
    [mutableArr addObjectsFromArray:@[@"7", @"8", @"9", @"9"]];
    NSLog(@"%@", mutableArr);
    
    //排序 这个排序是异步的,不能马上得到结果
    [mutableArr sortUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        return [obj2 compare:obj1];
    }];
    
    //移除数组中的元素 注意:该方法移除的是数组中所有的该对象
    [mutableArr removeObject:@"9"];
    NSLog(@"%@", mutableArr);
    //移除数组中当前下标下的元素
    [mutableArr removeObjectAtIndex:1];
    NSLog(@"%@", mutableArr);
    //移除数组中最后一个元素
    [mutableArr removeLastObject];
    NSLog(@"%@", mutableArr);
    //移除数组中全部元素
    [mutableArr removeAllObjects];
    NSLog(@"%@", mutableArr);
2018-06-19 17:30:25.807354+0800 NSArrayDemo[15111:1305905] (
)
2018-06-19 17:30:25.807540+0800 NSArrayDemo[15111:1305905] (
    123
)
2018-06-19 17:30:25.807650+0800 NSArrayDemo[15111:1305905] (
    123,
    0
)
2018-06-19 17:30:25.807785+0800 NSArrayDemo[15111:1305905] (
    123,
    0,
    7,
    8,
    9,
    9
)
2018-06-19 17:30:25.808120+0800 NSArrayDemo[15111:1305905] (
    8,
    7,
    123,
    0
)
2018-06-19 17:30:25.808297+0800 NSArrayDemo[15111:1305905] (
    8,
    123,
    0
)
2018-06-19 17:30:25.808415+0800 NSArrayDemo[15111:1305905] (
    8,
    123
)
2018-06-19 17:30:25.808576+0800 NSArrayDemo[15111:1305905] (
)

相关文章

网友评论

      本文标题:NSArray的使用

      本文链接:https://www.haomeiwen.com/subject/dchmeftx.html