ios - 我的自定义@synchronize setter \ getter出了什么问题?

时间:2012-06-11 20:33:59

标签: ios properties

这是属性声明:

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

可能是什么原因?

由于

1 个答案:

答案 0 :(得分:1)

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

要拥有一个实例变量而不是全局变量,只需合成它即可。

@synthesize zooView = _zooView;

-(zooView*) zooView
{
    return _zooView;
}

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

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