我想寫一個自定義的,正式的協議,我遇到了Xcode的警告問題。具體做法是:使用正式協議時,刪除「NSObject可能不會響應選擇器」警告?
if([self.delegate conformsToProtocol:@protocol(myProtocol)]){
[self.delegate myProtocolMethod];
}
這在運行時工作完全正常,但Xcode中不斷給我的「NSObject的可能不響應-myProtocolMethod」的警告。我真的想刪除警告,所以我在這裏做錯了什麼?
我一般推薦在這裏使用'id'而不是'NSObject'。然後確保''繼承自''。這允許'NSProxy'對象正常工作。當然,總是用頂端的帽子命名協議。 –
@RobNapier我打算使用'id',但由於OP的錯誤提到了'NSObject',我想我應該使用它。雖然好點。 – ughoavgfhw
這應該是編譯器檢查的小菜一碟,不是嗎?我的意思是,如果它是一個** Objective C **編譯器,它就是......現在它的行爲就像一個C/C++編譯器。 石膏是危險的。 –