2013-03-28 134 views
4

我从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)]; 
    }]; 
} 

回答

2

这是塞德里克的接通-Weverything标志,这让LLVM产生迂腐警告的结果。在你构建设置删除标志:

No more -Weverything

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

2

如果您想保留尽可能多的警告视为实际的,这是你可以在你的基地.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) 

和相同的策略用于管理搜索路径,预处理器定义等

1

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