3
我從字符串創建一個類,檢查它是否有效,然後檢查它是否響應某個特定的方法。如果是的話,我打電話給方法。這一切工作正常,除了我得到一個惱人的編譯器警告:「警告:沒有'-setCurrentID:'找到方法」。我在這裏做錯了什麼?無論如何要告訴編譯器一切正常,並停止報告警告?No method found compiler warning
在這裏是代碼:
// Create an instance of the class
id viewController = [[NSClassFromString(class) alloc] init];
// Check the class supports the methods to set the row and section
if ([viewController respondsToSelector:@selector(setCurrentID:)])
{
[viewController setCurrentID:itemID];
}
// Push the view controller onto the tab bar stack
[self.navigationController pushViewController:viewController animated:YES];
[viewController release];
乾杯
戴夫
謝謝尼古拉,非常有幫助。乾杯 戴夫 – 2010-05-24 11:17:16
正式和非正式協議之間的差異,這是一個很好的參考,再次感謝您的轉向。 http://developer.apple.com/mac/library/documentation/cocoa/conceptual/objectivec/articles/ocProtocols.html 關心戴夫 – 2010-05-24 15:30:16
還有另一種方法來解決警告,我有時使用時,我是懶惰:NSObject的'performSelector:withObject:'而不是直接發送消息。但是,只有當你的論點是一個對象時,這纔是好事。 – 2010-05-24 15:48:38