【问题标题】:How to disable Xcode compiler warning "Property access result unused - getters should not be used for side effects"如何禁用 Xcode 编译器警告“未使用属性访问结果 - getter 不应用于副作用”
【发布时间】:2018-04-03 15:06:15
【问题描述】:

我想知道,如何禁用 Xcode 编译器警告,标题为:未使用的属性访问结果 - getter 不应该用于副作用

【问题讨论】:

    标签: objective-c xcode compiler-warnings


    【解决方案1】:

    最好的方法可能是强制转换为void,或分配给未使用的变量(T unused_var = property_access;),并在行中添加注释,说明为什么丢弃返回值。不过……

    找到编译器标志的项目设置并添加:

    -Wno-unused-getter-return-value
    

    这来自Clang Options to Control Error and Warning MessagesDiagnostics Flags in Clang

    【讨论】:

    • 最好的方法是从点语法切换到正常的方法调用。 ;)
    • @bbum - 我忘记了没有警告,所以它是另一种方式,但它是最好的吗?就像使用编译器标志一样,它隐藏了未使用的结果。显然,这里的“最佳”是主观的;-)
    • @CRD 大多数情况下,由于历史原因,它不会发出警告。有太多代码有像-(BOOL)doSomething; 这样的方法,在设计@property 时,我们无法证明生成的方法的行为与常规方法明显不同,无论是在声明还是调用时(一个主要例外是.要求对象的强类型——这个警告是一个更小的区别)。
    【解决方案2】:
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wno-unused-getter-return-value" // or whatever
    
    -(void)yourMethodHere{
    // generate warning
    }
    
    #pragma clang diagnostic pop
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 2018-08-31
      • 2023-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多