xcode 全局变量 (数组)与addobject

在.m文件开头用static声明了一个NSMutableArry,在一个方法里对其进行修改,用了addObject的方法,但是数组并没有被修改,值始终为nil,请问是为什么?如要修改 该怎么处理

没初始化 arr = [nsmutableaarray array];

打断点跑一下嘛。一般发现为nil你应该先去查查有没有初始化你的数组,或者有没有什么地方把它给释放了。

你用static直接初始化的时候必须用alloc或者将它retain住,否则默认的autorelease会被系统自动释放。
所以,一般你在全局声明了一个
static NSMutableArray *sArray;
之后,你需要在某个方法里对它初始化。

static NSMutableArray * mutableArray= [[NSMutableArray alloc]init];

我感觉也是 集合未初始化 对nil 发送 addObject信息 不会报错

你要初始化,最好的办法就是lazy initial ,你可以查下,在getter方法中初始化,避免以后nil后忘了再次初始化

NSMutableArry 是一个对象 对象的使用都是需要初始化,开辟内存的

先初始化。初始化要放在addobject之前。

第一你可能没有初始化,第二:static修饰的变量只能出实话一次,不可修改