这是属性声明:
@property (atomic, weak) zooView* zooView;
这是我的自定义实现:
__weak zooView* _zooView;
-(zooView*) getZooView
{
return _zooView;
}
-(void) setZooView:(btBasePinView*)inZooView
{
_zooView = inZooView;
}
我在另一个线程上访问此属性,在同一个类上:
[self.zooView imgLoadComplete:self.fullImg];
出于某种原因,当我访问self.zooView时,我返回了一个nil对象。 如果我删除自定义setter \ getter,一切正常。
可能是什么原因?
由于
答案 0 :(得分:1)
zooView的getter应该是-zooView而不是-getZooView。
要拥有一个实例变量而不是全局变量,只需合成它即可。
@synthesize zooView = _zooView;
-(zooView*) zooView
{
return _zooView;
}
-(void) setZooView:(btBasePinView*)inZooView
{
_zooView = inZooView;
}
这将使用指定的getter / setter定义一个ivar _zooView。