ARC:使用自定义设置器转换保留的声明属性

时间:2011-10-13 02:22:24

标签: objective-c automatic-ref-counting

我正在尝试将项目转换为使用ARC。

我有一个声明的属性,如:

@property (nonatomic, retain, setter=setSomeProperty:) SomeClass * someProperty;

接口中setter方法的声明:

-(void)setSomeProperty:(SomeClass *)value;

我有一个看起来像这样的setter的实现:

-(void)setSomeProperty:(SomeClass *)value
{
    if (_value != value)
    {
         [_value release];
         _value = [value retain];
    }

    // Other things...
}

我在尝试使用“转换为Objective-C ARC ...”工具时遇到错误:

  

错误:属性类型'someProperty'与访问者类型不匹配   'setSomeProperty:'[ - 错误,3]

1 个答案:

答案 0 :(得分:8)

从界面中删除setSomeProperty方法的声明。 @property创建一个声明,默认的setter与声明的相同。

-(void)setSomeProperty:(SomeClass *)value;