我宣佈我MainViewController一個按鈕,這樣當它在用戶登錄需要使用self.mybutton.hidden = FALSE;
但我ProfileViewController我有註銷按鈕,這需要隱藏按鈕一個按鈕,顯示再次使用self.mybutton.hidden = TRUE;
隱藏UIVIewControllers之間的按鈕
哪種視圖之間進行通信的最佳方式?
我宣佈我MainViewController一個按鈕,這樣當它在用戶登錄需要使用self.mybutton.hidden = FALSE;
但我ProfileViewController我有註銷按鈕,這需要隱藏按鈕一個按鈕,顯示再次使用self.mybutton.hidden = TRUE;
隱藏UIVIewControllers之間的按鈕
哪種視圖之間進行通信的最佳方式?
NSUserDefaults對您來說可能是一個簡單的解決方案,沒有太多的想法。保存一個特定BOOL值(如果堅持)到這一點,那麼在每個視圖檢查值是否應被隱藏或顯示該按鈕:如果使用故事板
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:TRUE forKey:@"checkThisBool"];
雖然這肯定會訣竅,但這是對'NSUserDefaults'系統的誤用。我強烈建議不要遵循這種模式,即使是一個'BOOL'標誌。 – dasblinkenlight
我不同意你的發言。由於NSUserDefaults提供了存儲應用程序設置的主要用途和功能,因此它的構建也允許在整個應用程序中保存小數據狀態。它對此沒有什麼反對,因爲它只是存儲在PLIST文件中的另一個鍵/值對。 – Brayden
,可以傳遞下的任何信息prepareForSegue函數。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:...]) {
MyViewController *controller = (MyViewController *segue.destinationViewController;
controller.myProperty1 = ...;
controller.myProperty2 = ...;
}
}
屬性或協議是不同控制器之間通信的最佳方式,但我不能說哪一個對你更好,因爲考慮到你的問題缺乏細節。 – Adis
chk我的答案.. – Rajneesh071