2012-08-28 48 views
1

我宣佈我MainViewController一個按鈕,這樣當它在用戶登錄需要使用self.mybutton.hidden = FALSE;但我ProfileViewController我有註銷按鈕,這需要隱藏按鈕一個按鈕,顯示再次使用self.mybutton.hidden = TRUE;隱藏UIVIewControllers之間的按鈕

哪種視圖之間進行通信的最佳方式?

+0

屬性或協議是不同控制器之間通信的最佳方式,但我不能說哪一個對你更好,因爲考慮到你的問題缺乏細節。 – Adis

+0

chk我的答案.. – Rajneesh071

回答

0

NSUserDefaults對您來說可能是一個簡單的解決方案,沒有太多的想法。保存一個特定BOOL值(如果堅持)到這一點,那麼在每個視圖檢查值是否應被隱藏或顯示該按鈕:如果使用故事板

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setBool:TRUE forKey:@"checkThisBool"]; 
+1

雖然這肯定會訣竅,但這是對'NSUserDefaults'系統的誤用。我強烈建議不要遵循這種模式,即使是一個'BOOL'標誌。 – dasblinkenlight

+0

我不同意你的發言。由於NSUserDefaults提供了存儲應用程序設置的主要用途和功能,因此它的構建也允許在整個應用程序中保存小數據狀態。它對此沒有什麼反對,因爲它只是存儲在PLIST文件中的另一個鍵/值對。 – Brayden

0

,可以傳遞下的任何信息prepareForSegue函數。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.identifier isEqualToString:...]) { 
    MyViewController *controller = (MyViewController *segue.destinationViewController; 
    controller.myProperty1 = ...; 
    controller.myProperty2 = ...; 
    } 
}