XCode 6.3警告:合成属性

在新的Xcode 6.3中,我得到这个警告:

汽车房地产综合将不会综合房地产'homeInt'; 它将由其超类实现,使用@dynamic来确认意图

我如何删除它?

我只是删除了这个属性声明,因为它已经在父类中声明了

如果你故意压倒超级class的同一个财产:

@implementation MyClass @dynamic homeInt; ... 

如果不是,请重命名属性。

在@ mplace的评论之后,在我的情况下,我重写了该属性,将属性的types改进为属性的原始类的子类。 所以,我确实需要@property覆盖。

以下是我正在使用的:

 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wobjc-property-synthesis" // superclass type for currentValue was "id" @property (nonatomic, strong) NSDate *currentValue; #pragma clang diagnostic pop 

请注意,它是“-Wobjc属性综合”而不是“-Wno-objc属性综合”

另见https://github.com/couchbase/couchbase-lite-ios/issues/660

如果您希望避免每个添加@dynamic <varName>地方都有意地覆盖了超类的属性,您可以在项目构build设置下将-Wno-objc-property-synthesis标志添加到“其他警告标志”。 这将抑制项目范围内的警告。

这个由child子类定义的相同的属性名覆盖父类,如:
1)子类“AFHTTPSessionManager”定义:

 @property (nonatomic, strong) AFHTTPResponseSerializer <AFURLResponseSerialization> * **responseSerializer**; 

2)父类“AFURLSessionManager”定义:

 @property (nonatomic, strong) id <AFURLResponseSerialization> **responseSerializer**; 

3)由上面的原因,警告来了! 如果要删除它,只需重命名冲突属性名称!
4)或者如其所示,在您的工具文件中添加“@dynamic homeInt”;

如果更新到Xcode 6.3,只需将AFNetworking更新到版本2.5.2,这些警告就会消失。