Objective c 直接访问的实例变量

Objective c 直接访问的实例变量,objective-c,clang,Objective C,Clang,我从github下载了XCDFormInputAccessoryView。我试图在xcode中运行它,并收到了大量的警告 正在直接访问实例变量“---”。有什么帮助吗 - (void) setTextInputs:(NSArray *)textInputs { // Some day, IBOutletCollection will be properly sorted, in the meantime, sort it! _textInputs = [textInputs so

我从github下载了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)];
    }];
}

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


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

如果希望保留尽可能多的警告,可以在base.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)

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

-Wno direct ivar access
添加到“生成设置”下的警告标志中