直接上代码:

NSString* str0  = @"123";
NSString* str1 = @"234";
NSString* str2 = @"456";
NSMutableArray* array= [NSMutableArray arrayWithObjects:str0, nil, str1, str2, nil];
[array addObject:nil];
for (NSObject* item in array) {
BYLog(@"%@",item);
}


说明:

上面这一段代码是能够正常通过编译的,

也就是说,在初始化的时候将 nil 作为一个元素,addObject 添加 nil,都没有问题!

但是存在问题!

类似 c 里面的字符串是以 ‘\0’ 做结束标志,

NSMutableArray 里面也是有结束标志的,

这个标志就是 nil。

如上面这段代码,

第二个元素就是nil 了,遍历的时候仅能遍历出第一个元素,

后面的元素都将被无视~