【问题标题】:Warning from defining same property name from parent class从父类定义相同属性名称的警告
【发布时间】:2016-06-21 09:54:22
【问题描述】:

如果子类定义了相同的属性名称覆盖父类,应该会出现警告:

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

如果我有一个 CALayer 的子类并定义了一个名为“delegate”的属性,我将收到此警告。 但是,如果我有一个 UIView 的子类并定义了一个名为“maskView”的属性,则不会出现警告。

怎么会有这么大的区别?

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    是的,如果子类定义相同的属性名称覆盖父类:

    这样做:

    @implementation yourClass
    
    @dynamic homeInt;
    

    如果没有,

    那么你应该重命名该属性。

    另见:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 2018-10-01
      • 2019-12-01
      • 1970-01-01
      • 2021-11-24
      相关资源
      最近更新 更多