0

这是属性声明:

@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,一切正常。

可能是什么原因?

谢谢

4

1 回答 1

1

zooView 的 getter 应该是 -zooView 而不是 -getZooView。

要拥有一个实例变量而不是全局变量,只需对其进行综合即可。

@synthesize zooView = _zooView;

-(zooView*) zooView
{
    return _zooView;
}

-(void) setZooView:(btBasePinView*)inZooView
{
    _zooView = inZooView;
}

这将使用您指定的 getter/setter 定义一个 ivar _zooView。

于 2012-06-11T21:05:10.337 回答