若是你的 全局 可变数组 前面 用了 copy修饰,那么 调用 arr addObjectsFromArray: 的时候 就 会崩溃,并且提示你 是 [__NSArray0 addObjectsFromArray:]: unrecognized selector sent to instance 0x6XXXX.数组
关于array的类型 有 以下 定义code
NSArray *arr1 = @[@"1",@"2"]; __NSArrayIrem
NSArray *arr2 = [[NSArray alloc]init]; __NSArray0 (仅仅初始化后不含有元素的数组)get
NSArray *arr3 = [[NSArray alloc]initWithObjects: @"1",nil]; __NSSingleObjectArrayI (只有一个元素的数组)it
NSArray *arr4 = [NSArray alloc]; __NSPlaceholderArray (占位数组)io
NSMutableArray *arr5 = [NSMutableArray array]; __NSArrayMtable
__NSArrayI
is a code-word for an immutable array - that is, a "regular" NSArray
which you cannot change.(不可变数组)select
__NSArrayM
is a code-word for a mutable array - that is, NSMutableArray
. In NSMutableArray
, you can add and remove items.(可变数组)淘宝
==================================im
有时候你们不当心会遇到这样的崩溃信息
-[__NSDictionaryI setObject:forKey:]: unrecognized selector sent to instance
缘由是,你尝试给不可变的字典里的某个单独的健赋值。 这种操做方式只有 可变的字典才能够。不可变的字典以及数组等 都须要 总体赋值才能够,若是强行 单独拿出来一个赋值,就会发生崩溃。
推荐你们个朋友开的淘宝小店店,