我的 Objective C 头文件中有以下属性:
@property (retain, nonatomic) MyObj *myObj;
在实现(.m文件)中,我有以下两种方法:
-(void)setMyObj:(MyObj *)myObj {
NSLog(@"set MyObj %@",myObj); //this is fine and not null
_myObj = myObj;
}
-(MyObj *)getMyObj {
NSLog(@"getting MyObj: %@",_myObj); //this prints (null)
return _myObj;
}
在某些时候,我设置了 myObj
的值,然后在调用 getMyObj
后不久,我没有触及 myObj
的值之间(我不访问它的任何变量或调用它的方法或根本不使用它)。为什么 getMyObj
方法中的 myObj
null
?我假设它与我在 .h
文件中定义 myObj
属性的方式有关。
最佳答案
确保在同一个对象上调用 setter 和 getter。
关于ios - Objective C 中的属性 - 丢失对象指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22274885/