2013-03-28 192 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添加到生成設置下的警告標誌。