我在引用另一個視圖控制器時遇到了問題。代碼的作品,但我得到警告,這讓我覺得我錯了。我試圖重新加載tableView
中的數據,其controller
位於NavigationController
。
有什麼不對這樣的消息:正確地遍歷ViewController層次結構?
從AppDelegate中:
[self.tabBarController.selectedViewController.topViewController.tableView reloadData];
雖然這工作,我得到警告request for member 'topViewController' in something not a structure or union
因爲Xcode的不知道selectedViewController
將返回navigationController
。所以,我可以做到以下幾點:
但後來我得到這樣的警告:incompatible Objective-C types initializing 'struct UIViewController *', expected 'struct UINavigationController *'
我有多遠一起去嗎?第一行工作。爲了達到「正確的方式」,需要8行代碼?
我明白了你的觀點。啓動此操作的事件是通過`application:handleOpenURL`從另一個應用程序傳遞給應用程序的文件。如果我決定在我的`tableViewController`中調用一個方法來讓它處理這個動作(這聽起來像個好主意)。我仍然需要從AppDelegate引用`tableViewController`一次。我經常遇到這種困境,而不僅僅是關於這個問題。看起來我不斷將一個對象存儲爲另一個對象的屬性,直到它只是一個蜘蛛網。這就是爲什麼我在嘗試第一行代碼,以避免這種情況。 – Andrew 2010-11-27 07:49:36