今天写程序时程序崩溃了,调试了很久才找到了问题所在,一下是对这次问题的总结,希望对跟我这样的新手有所帮助。如下:
在手动管理内存时应该注意,实例变量在定义为 retain 模式时,在调用初始化方法中不应该是自己手动赋值,而是调用setter方法。何为手动赋值?见下面:
在头文件中声明
@property (nonatomic, retain, getter = name) NSString *_name;
这里本意是想在 _name 每次赋值引用计数加1。而在 .m 文件中如果初始化方法写成:
- (id) initWithName: