【问题标题】:How to turn off warning that a property has been auto-synthesized in Xcode如何关闭 Xcode 中已自动合成属性的警告
【发布时间】:2013-07-25 22:33:59
【问题描述】:

Xcode 现在自动合成属性。但是,对于我的每个属性,我现在都会收到一条警告:

>>> Autosynthesized property 'myProperty' will use synthesized instance variable '_myProperty' ...

如何关闭这些警告?

编辑

我误读了编译器警告,因此为标题制定了错误的问题。但是,我将保持标题不变,因为假设其他人可能会犯与我相同的(实际)错误。

CRD 的回答为我指出了警告的真正性质。

【问题讨论】:

    标签: objective-c xcode clang llvm


    【解决方案1】:

    您可能不应该关闭它们。

    警告告诉您有一个实例变量myProperty,但自动综合属性将使用变量_myProperty。如果您像以前一样添加@synthesize myProperty,那么属性将使用myProperty 实例变量。

    如果您在代码中的任何地方引用变量 myProperty 并认为它是属性的值,那么您的代码将是错误的。

    删除或重命名您的实例变量(或添加 @synthesize 指令),您的警告就会消失。

    【讨论】:

    • 赞成并接受:警告并不代表我认为的意思。
    • +1 在我的情况下,我像往常一样创建了我的@property,但在我决定切换之前,我的 .h 的 @interface 部分中也有相同的属性作为早期的工件到@property ...哎呀!
    【解决方案2】:

    转到Build Settings > Warnings - Objective C > Implicit Synthesized Properties 并将选项设置为NO

    【讨论】:

    • 我对正确回答我的字面问题的答案投了赞成票。但是,我将接受 CRD 的回答,因为我的实际需要是正确的(即 CRD 正确阅读了警告消息而我没有)。
    • 修复警告比让它静音更好。
    猜你喜欢
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 2017-06-18
    相关资源
    最近更新 更多