XCode 6.3警告:合成属性

UnR*_*ewa 60 xcode warnings dynamic

在新的Xcode 6.3中,我收到此警告:

自动属性合成不会合成属性'homeInt'; 它将由其超类实现,使用@dynamic来确认意图

我怎么能删除它?

Kar*_*eye 107

如果您故意覆盖超类中的同一属性:

@implementation MyClass

@dynamic homeInt;

...
Run Code Online (Sandbox Code Playgroud)

如果没有,请重命名该属性.


小智 62

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


Chr*_*nce 10

继@ mplace的注释之后,在我的情况下,我重写了属性以将属性的类型细化为属性的原始类的子类.所以,我确实需要@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
Run Code Online (Sandbox Code Playgroud)

请注意,它是"-Wobjc-property-synthesis"而不是"-Wno-objc-property-synthesis"

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


mpl*_*ace 5

如果您想避免添加有意@dynamic <varName>覆盖超类属性的每个位置,可以在项目构建设置下将标志添加到"其他警告标志".这将抑制项目范围内的警告.-Wno-objc-property-synthesis