可写原子属性'result'不能将合成的setter/getter与用户定义的setter/getter配对

Sim*_*iwi 5 warnings atomic ios

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

我收到以下警告:可写原子属性'result'无法将合成的setter/getter与用户定义的setter/getter配对

这就是我设置/获取它的方式:

@property (retain, getter=getResult) NSString *result;
@synthesize result;
Run Code Online (Sandbox Code Playgroud)

我在下面的粗体/斜体线中收到警告:

***- (NSString *)getResult***
{
    if (result == nil)
        self.result = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
    return result;
}
Run Code Online (Sandbox Code Playgroud)

关于如何修复它的任何想法?

谢谢!

tit*_*coy 8

合成原子属性会生成一个getter和setter,它使用锁来确保始终在多线程环境中完全检索或设置该值.

将您的财产声明更改为:

@property (nonatomic, retain) NSString *result;
Run Code Online (Sandbox Code Playgroud)

或者自己定义两个访问器并实现自己的锁定机制以保证原子性.