我的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
之间的值(我不访问任何它的变量或调用它的方法或根本使用它。为什么myObj
方法中有null
getMyObj
?我假设它与我在myObj
文件中定义.h
属性的方式有关。
答案 0 :(得分:4)
确保在同一个对象上调用setter和getter。