相关疑难解决方法(0)

错误:可写原子属性无法将合成的setter/getter与用户定义的setter/getter配对

我最近尝试编译一个较旧的Xcode项目(曾经编译得很好),现在我看到了很多这种形式的错误:

error: writable atomic property 'someProperty' cannot pair a synthesized setter/getter with a user defined setter/getter

导致这些错误的代码模式总是如下所示:

// Interface:

@property (retain) NSObject * someProperty;

// Implementation:

@synthesize someProperty; // to provide the getter
- (void)setSomeProperty:(NSObject *)newValue
{
    //..
}
Run Code Online (Sandbox Code Playgroud)

我可以看到为什么会生成错误.我告诉编译器合成我的属性访问器(getter和setter),然后立即手动覆盖setter.那段代码总是闻到一点点气味.

那么,这样做的正确方法是什么?如果我使用@dynamic而不是@synthesize,我将不得不写入getter.这是唯一的方法吗?

compiler-construction xcode properties objective-c

127
推荐指数
3
解决办法
3万
查看次数