2011-12-01 48 views
0

我有一個導航控制器在故事板上有兩個視圖。iOS:調用popViewControllerAnimated後的回調函數?

在我使用它來導航到下一個(第二)視圖中的第一視圖:

[self performSegueWithIdentifier:@"SecondViewController" sender:sender]; 

的賽格瑞風格是推。

第二種觀點有兩個頂欄按鈕,返回按鈕,導航回正常,並自定義右欄按鈕,該做些什麼的背景和之後的導航回此代碼:

[self.navigationController popViewControllerAnimated:YES]; 

有時,當我調用這段代碼時,我想在第一個視圖中調用一個函數(比如作爲回調函數),這會刷新第一個視圖上的一些內容。

我該怎麼做?

我嘗試在第一個視圖中使用viewWillAppear,但我不想每次刷新東西,只是有時候。

謝謝!

RESOLVED。

我找到了解決問題的方法: 當我使用prepareForSegue函數時,我可以設置[segue destinationViewController]對象的任何屬性。

所以我委託屬性設置爲發送者(最前一頁)控制器和第二控制器中,我可以叫[委託anyFunction]

它的作品,也許這是一個很好的解決方案... ...:-S

回答

2

代表團應該解決你的問題。使第一個視圖控制器成爲第二個視圖控制器的代表,並在關閉視圖控制器時向其發送消息。

+0

沒關係,我嘗試了,但沒有成功。我使用這個:http://www.ios-developer.net/iphone-ipad-programmer/development/delegates/how-to-create-a-delegate 在我的項目中,MainClass是第一個視圖,Subclass是第二個。但可能我無法完美地觀察這個例子...... :) – mudlee

+0

因此,使用導航控制器從第一個viewcontroller導航到第二個,然後我從第二個導航回到第一個導航控制器,但是,當我調用導航在第二個視圖控制器中,我有一個關於「我應該在導航返回完成後需要在第一個視圖中調用函數嗎?」的IF語句,並且即使該語句爲真,我也想調用第一個控制器中的函數。但聲明在第二個視圖控制器中。 對不起,我的英語不好,我希望這是可以理解的。 – mudlee