关于NSArray的一些用法

来源:互联网 发布:nb仿真实验室软件 编辑:程序博客网 时间:2024/06/05 14:34
#import <Foundation/Foundation.h>//符合OC数组排序函数参数(NSInteger (*)(id, id, void *))的函数NSInteger comp(id objc1, id objc2, void * p){        NSLog(@"%@  %@", objc1, objc2);    //-1  升序 (不交换元素)  0  相等 (不交换元素)  1  降序  (交换元素)        //我知道都是字符串    //objec1 小 -1  大  1  等 0    if ([objc1 compare:objc2] == 1) {        return 1;//交换元素    }else{        return 0;    }    //return 0;}int main(int argc, const char * argv[]) {    @autoreleasepool {                        //NSArray  不可变数组        //三个子符串类型的元素        //  1  简易的初始化操作  @ + []  元素-->对象(id)        NSArray *array = @[@"1", @"2", @"3"];                //  2  根据索引提取相应的元素        //objectAtIndex:  返回值类型id        NSString *element = [array objectAtIndex:0];                NSLog(@"%@", element);                //  3  初始化方法  最后以nil结尾!        //  va_arg()不能确定元素的个数        //initWithObjects:        NSArray *array2 = [[NSArray alloc] initWithObjects:@"a", @"d", @"b", @"c", nil];        NSLog(@"%@", array2);                //  4  使用一个数组初始化另一个数组        //initWithArray:        NSArray *array3 = [[NSArray alloc] initWithArray:array2];        NSLog(@"数组3:%@", array3);                //  5        //arrayWithObjects:        NSArray *array4 = [NSArray arrayWithObjects:@"一", @"二", @"三", nil];        NSLog(@"%@", array4);                        //  6  拼接新元素,拼接后的结果以数组的形式返回        //arrayByAddingObject:        NSArray *array5 = [array2 arrayByAddingObject:@"d"];        NSLog(@"%@", array5);                //  7  拼接新元素,以整个数组的形式进行拼接,返回新数组        //arrayByAddingObjectsFromArray:        NSArray *array6 = [array2 arrayByAddingObjectsFromArray:array4];        NSLog(@"%@", array6);                        //  8  以某个连接符(参数传入的字符串)连接所有的数组元素,以字符串的形式放回。(一般只用于数组元素为字符串的数组)        //componentsJoinedByString:        NSString *string = [array2 componentsJoinedByString:@""];        NSLog(@"%@", string);                        //  9  根据元素返回索引号        //indexOfObject:        NSUInteger intger = [array2 indexOfObject:@"b"];        NSLog(@"%lu", intger);                        //  10 返回第一个元素、返回最后一个        //firstObject   lastObject        //array  空元素初始化(内存空间已开辟,已初始化)        //nil  代表空地址   @"" @[] 空内容        //firstObjct  objectAtIndex:0   都能取第一个元素 存在一样  不存在 第一个取出null  第二个程序异常终止        NSArray *array7 = @[];        NSLog(@"%p", array7);        NSLog(@"个数:%lu", [array7 count]);        NSLog(@"--%@--", [array7 firstObject]);                //  11        //sortedArrayUsingFunction: context:        //使用自定义的函数时,只需把函数指针传过来就可以了。        NSArray *array8 = [array2 sortedArrayUsingFunction:comp context:nil];        NSLog(@"排序后的数组:%@", array8);                //实现一个数组  @[@"11", @"23", @"8", @"1", @"99"]  排序方法排序  按照数值的大小(小->大)                        //NSMutbleArray        NSMutableArray *mut_array = [[NSMutableArray alloc] initWithObjects:@"11", @"22", @"33", @"44", @"55", nil];        //  12  添加元素        //addObject:                        //  13  删除元素        //removeObject:                        //  14  插入元素,根据索引号        //insertObject: atIndex:        [mut_array insertObject:@"66" atIndex:5];        NSLog(@"%@", mut_array);                        //  15  移除元素,根据索引        //removeObjectAtIndex:        [mut_array removeObjectAtIndex:0];        NSLog(@"%@", mut_array);                //  16  替换元素,根据索引        //replaceObjectAtIndex: withObject:        [mut_array replaceObjectAtIndex:0 withObject:@"二二"];        NSLog(@"%@", mut_array);                //  17  交换元素,根据索引        //exchangeObjectAtIndex: withObjectAtIndex:        [mut_array exchangeObjectAtIndex:0 withObjectAtIndex:1];        NSLog(@"%@", mut_array);                        //  18  删除元素,限定:1、特定的元素  2、特定的范围中        //removeObject: inRange:        NSRange range = {1, 1};        [mut_array removeObject:@"二二" inRange:range];        NSLog(@"%@", mut_array);    }    return 0;}

0 0
原创粉丝点击