一、例如,我要把@“jack”,@“rose”,@"lili"存到我的NSArray数组里面去 1.NSArray *arr = @[@“jack”,@“rose”,@“lili”]; 这个时候,表示我创建了1个NSArray数组,这个数组有3个元素,这3个元素的值分别是@“jack”,@“rose”,@“lili” 2.好了,接下来我们说这个数组该怎么用 1)我要在NSLog里面,打印出这个数组中所有元素的值 直接用%@,打印这个数组arr就可以了 NSLog(@“%@”,arr); 这样的话,它就会去输出这个数组里面所有元素的值 输出:( jack rose lili ) 1)所以,第一种啊,在这个NSLog函数中使用%@可以直接输出NSArray对象中的所有的元素的值 2)第二点啊,NSArray数组中不能存储基本数据类型,不能存储非OC对象 所以,我这儿给个nil NSArray *arr = @[@“jack”,@“rose”,@“lili”,nil]; 报错 报错的原因,这个nil其实本质上是个0 你若不信,点nil,点右键,JUMP TO DEFINITION 它是个typedef,是个宏 #typedef nil __DARWIN _NULL 再看这个__DARWIN_NULL是什么东西啊 再点右键,再JUMP TO DEFINITION #typedef __DARWIN_NULL ((void *)0) 是不是就是个0啊,0就是基本数据类型嘛,对不对 所以这个nil是没法存进去的啊 nil的本质其实就是0,所以nil无法存储到NSArray数组中 这是第二点 3)通过这三种方式创建数组,没有任何意义 NSArray *arr1 = [NSArray new]; NSArray *arr2 = [[NSArray alloc] init]; NSArray *arr3 = [NSArray array]; 为什么这样创建数组没有任何意义呢,因为这样创建数组是没有元素的 而NSArray数组的元素无法新增和删除,所以没有任何意义 2.我把@“jack”,@“rose”,@"lili"存储到数组里面之后,我想取出数组里面元素的值,应该怎么取呢 NSArray *arr = @[@“jack”,@“rose”,@“lili”]; 我们说,