问题描述
- 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之前。
时间: 2024-08-03 15:12:10