选择了具有“保留(或强烈)”属性的属性进行综合
这是从xcode 9.2更新到xcode 9.3后出现的新错误。在构建我的测试项目时会发生这种情况,我的一个变量就是抛出这个错误:
@property (nonatomic, retain) NSNumber* myVariable;
在这个旧的代码库中,这已成为很长一段时间的“保留”属性,有没有人知道为什么会突然出现错误?
其他信息:
整个项目中有几个相同的名称变量,在各种@protocol文件中都以相同的方式定义。这些协议都在#import进入测试项目,在尝试构建时会抛出错误。
我可以提供其他信息吗?
修改
在使这个错误重新创建的过程中,很明显错误是由于项目中的一个重复变量名称具有'readonly'属性而不是其余的'retain'。我正在发布娱乐和答案,以防其他人有旧项目或拼写错误抛出相同的错误。
可以重新创建:
@interface MyObject : NSObject <MyProtocol, MyProtocol2>
@synthesize myVariable;
答案 0 :(得分:1)
问题归结为没有意识到具有相同名称的变量之一是readonly属性而其他变量都保留。似乎xcode 9.2和之前从未捕获过这样的错误,但xcode 9.3现在也是如此。我的解决方案是更改readonly以匹配保留变量。
对其他人更好的解决方案可能是重命名readonly变量以表示它是唯一的。