0
我還是比較新的iPhone開發,但我知道這個警告通常是在我的類頭文件中沒有聲明方法的結果。這有點不同 - 至少我認爲是這樣。警告:'UIViewController'可能不會響應'xxx'
我已經創建了我的應用程序的根視圖控制器,它動態地加載在其他視圖控制器的委託方法中的自定義標籤欄 - 本質上是這樣的:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
UIViewController *viewController = [viewControllers objectAtIndex:item.tag];
[self.selectedViewController.view removeFromSuperview];
[self.view insertSubview:viewController.view atIndex:0];
self.selectedViewController = viewController;
}
該代碼工作正常,並在負荷所需的意見。當視圖改變檢查運行,看是否設置視圖即將被卸載,如果是,則調用保存的設置方法是這樣的:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
if (self.currentController == 1) {
[self.selectedViewController saveSettings];
}
UIViewController *viewController = [viewControllers objectAtIndex:item.tag];
[self.selectedViewController.view removeFromSuperview];
[self.view insertSubview:viewController.view atIndex:0];
self.selectedViewController = viewController;
}
同樣的代碼功能罰款和SettingsViewController的實例方法稱爲,但是因爲該方法的聲明在SettingsViewController的頭部而不是RootViewController,因此是警告。
如果我在RootViewController中聲明它,我也會得到'不匹配方法聲明'警告。我認爲重新宣佈我的功能會解決警告 - 但肯定不是解決這個問題的「正確」方法。
我確信我已經試過了 - 但我必須有一個錯字,因爲完美地工作。謝謝! – 2011-05-06 22:45:46