【问题标题】:instance variable being directly accessed实例变量被直接访问
【发布时间】:2013-03-28 02:52:25
【问题描述】:

我从 github https://github.com/0xced/XCDFormInputAccessoryView 下载了 XCDFormInputAccessoryView。我试图在 xcode 中运行它并收到许多警告

正在直接访问实例变量“---”。有什么帮助吗??

- (void) setTextInputs:(NSArray *)textInputs
{
    // Some day, IBOutletCollection will be properly sorted, in the meantime, sort it!
    _textInputs = [textInputs sortedArrayUsingComparator:^NSComparisonResult(UIView *view1, UIView *view2) {
        return [@(view1.tag) compare:@(view2.tag)];
    }];
}

【问题讨论】:

    标签: objective-c clang


    【解决方案1】:

    -Wno-direct-ivar-access 添加到构建设置下的警告标志中。

    【讨论】:

      【解决方案2】:

      这是 Cedric 开启 -Weverything 标志的结果,这使得 LLVM 生成迂腐警告。删除构建设置下的标志:

      然后重新编译,错误应该会消失。

      【讨论】:

        【解决方案3】:

        如果您想保留尽可能多的警告,这是您可以在基础 .xcconfig 文件中使用的策略:

        TWX_BASE_WARNING_EXCLUSIONS = -Wno-bad-function-cast -Wno-format-nonliteral -Wno-objc-missing-property-synthesis -Wno-pedantic -Wno-unused-macros -Wno-used-but-marked-unused -Wno-selector -Wno-direct-ivar-access
        
        WARNING_CFLAGS = -Weverything $(TWX_BASE_WARNING_EXCLUSIONS) 
        

        就我个人而言,我已经堆叠了 .xcconfig 文件,因此“基础”与堆栈中的其他文件相反,

        WARNING_CFLAGS = -Weverything $(TWX_BASE_WARNING_EXCLUSIONS) $(TWX_CONFIGURATION_WARNING_EXCLUSIONS)
        

        同样的策略用于管理搜索路径、预处理器定义等。

        【讨论】:

          猜你喜欢
          • 2011-06-06
          • 1970-01-01
          • 1970-01-01
          • 2018-12-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-08
          • 2011-02-21
          相关资源
          最近更新 更多