NSArray&NSMutableArray

▲不可变数组(NSArray)
  C语言中的数组只能存放同一种基本数据类型,而OC中的数组可以存放多种数据类型(但是必须是对象类型,不能存放基本数据类型)。
    注意:我们在实际编程过程中,应尽量在一个数组里存放同一种数据类型
  #import "Person.h"
  Person *xiaowang = [[[Person alloc] init] autorelease];
  Person *zhangsan = [[[Person alloc] init] autorelease];
  1.创建一个数组
    ①NSArray *array = @[@"xiaoming", xiaowang, zhangsan];
     NSArray *array_1 = @[array, @"xml", @"xmh"];
    ②NSArray *array_2 = [NSArray array];
     NSArray *array_3 = [[NSArray alloc] init];
    ③NSArray *array_4 = [NSArray arrayWithArray:array];
     NSArray *array_5 = [[NSArray alloc] initWithArray:array];    (冒号后面的『array』就是@[@"xiaoming", xiaowang, zhangsan])
    ④创建的时候初始化一部分数据
     NSArray *array_6 = [NSArray arrayWithObject:xiaowang];
     数组结尾为nil,不能向数组里面添加一个值为nil的对象
     NSArray *array_7 = [NSArray arrayWithObjects:xiaoming, zhangsan, nil];
  2.获取数组元素的个数 count
    NSLog(@"The count of the array is %ld.", [array count]);
  3.获取相应位置的元素(对象)
    Person *temp = [array_7 objectAtIndex:0];
    Person *temp_1 = [array_7 lastObject];    获取最后一个对象
    Person *temp_2 = [array_7 firstObject];    获取第一个对象
  4.遍历数组
    ①正常方法,需要记录位置时用
      for (int i = 0; i < array_7.count; i ++){
        NSLog(@"%@", [array arrayAtIndex:i]);
      }
    ②快速循环,不需要记录位置时用,一般常用的为这个
      for (Person *temp in array_7){
        NSLog(@"%@", temp)
      }
  5.判断一个数组是否包含一个对象
    if ([array containsObject:@"asdfds"]){
      NSLog(@"YES");
    } else{
      NSLog(@"NO");
    }
  6.获取某个对象在数组中的索引值
    NSUInteger index = [array_7 indexOfObject:@"asdfds"];    当数组中没有这样一个对象的时候,返回的将是一个极大的值


▲可变数组(NSMutableArray)  同样是继承于『NSArray』
  1.创建可变数组
    NSMutable *mArray = [NSMutable arrayWithCapacity:3];
  2.增加对象
    [mArray addObject:xiaoming];
  3.插入对象
    [mArray insetObject:array_4 atIndex:1];
  4.删除对象
    ①[mArray removeObject:xiaoming];
    ②[mArray removeObjectAtIndex:3];
    ③删除所有对象
     [mArray removeAllObjects];
  5.交换对象的位置
    [mArray exchangeObjectAtIndex:0 withObjectAtIndex:1];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容