美文网首页
OClesson05 数组

OClesson05 数组

作者: fanaf | 来源:发表于2015-11-07 16:55 被阅读18次

    数组类的初级使用

    创建一个不可变数组
    NSArray *array1 = [NSArray arrayWithObject:@"hello"]; NSLog(@"%@",array1);
    在创建有多个元素的数组时,需要在元素的结尾处,且只能在结尾处添加一个nil对象,表示数组元素到此结束
    NSArray *array2 = [NSArray arrayWithObjects:@"hello",@"everyone", nil]; NSLog(@"%@",array2);
    如果数组中 某个元素不能确定 我们可以用nsnull对象来占位
    NSArray *array3 = [NSArray arrayWithObjects:@"hello",[NSNull null],@"xaiji", nil]; NSLog(@"%@",array3);
    不可变数组操作
    获取数组元素的个数
    int a = (int)[array3 count]; NSLog(@"%d",a);

    不可变数组操作

    获取某个索引值位置的元素
    因为不能确定获取到的元素属于哪一个类,所以这里定义的对象时泛型
    instancetype只能用于返回值部分,用于保证返回值的安全,不能够用在这里声明一个对象,这里只能用id
    id temp = [array3 objectAtIndex:2]; NSLog(@"%@",temp);
    获取某个元素在数组中的索引,如果这个对象不在数组中 则返回一个负数
    int index = (int)[array3 indexOfObject:temp]; NSLog(@"%d",index);
    遍历数组,使用for循环
    for (int i = 0; i < [array3 count]; i++) { id object = [array3 objectAtIndex:i]; NSLog(@"%@",object); }
    使用for ... in进行遍历
    obj表示数组中单个元素 array3表示要遍历的数组
    注意:用for...in 遍历的数组 不能对数组进行操作(添加,删除操作) 因为for ... in 操作中里面的count是个固定的数字!!!
    for (id obj in array3) {
    NSLog(@"%@ ",obj); }

    可变数组操作

    创建一个可变数组
    NSMutableArray *marray = [NSMutableArray arrayWithObjects: @"1",@"2",@"3",@"4", nil];
    给数组添加一个新元素
    [marray addObject:@"5"]; NSLog(@"%@",marray);
    插入一个新元素到指定位置
    [marray insertObject:@"6" atIndex:3]; NSLog(@"%@",marray);
    交换指定位置的元素
    [marray exchangeObjectAtIndex:3 withObjectAtIndex:4]; NSLog(@"%@",marray);
    替换某个元素
    [marray replaceObjectAtIndex:4 withObject:@"hello"]; NSLog(@"%@",marray);
    删除元素
    根据下标删除元素
    [marray removeObjectAtIndex:4]; NSLog(@"%@",marray);
    直接删除指定对象
    [marray removeObject:@"5"]; NSLog(@"%@",marray);
    删除最后一个元素
    [marray removeLastObject]; NSLog(@"%@",marray);
    删除全部元素
    [marray removeAllObjects]; NSLog(@"%@",marray);

    NSnumber专门将基本数据类型封装为oc中的对象

    整型数转化为NSnumber对象
    NSNumber *intNumber = [NSNumber numberWithInt:10]; NSLog(@"%@",intNumber);
    将NSnumber转换为基本类型
    int d = [intNumber intValue]; NSLog(@"%d",d);
    NSNumber *floatNumber = [NSNumber numberWithFloat:15.3];
    float e = [floatNumber floatValue];
    逆向倒转
    NSLog(@"%@ %.2f",floatNumber,e);

    相关文章

      网友评论

          本文标题:OClesson05 数组

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