2015-04-03 18 views
0

我需要做的是能夠更新我的主視圖控制器,當它發生在容器視圖內。如何在容器視圖控制器中發生某些事情時更新視圖控制器?

例如,如果有在頁面的頂部有一個保存按鈕導航欄。導航欄下方是容器視圖和表單。保存按鈕呈灰色,直到文本輸入到表單中,然後變得與用戶難以處理。我想做類似的事情,以便主視圖控制器響應容器視圖上發生的事情。

我可以使用單例創建一個布爾變量,當我希望我的代碼運行時發生更改,但是我怎樣才能使它變成true,其他視圖控制器上的代碼就會運行並響應此更改?

我在this的帖子中看到,我可以使用委託,但它仍然給我留下了另一個視圖控制器如何檢測變量已經發生變化的問題 - 本文中的方法只是使變量可訪問的另一種方式我認爲另一個視圖控制器。

我以爲我可以有一個while循環運行檢查變量,但這會凍結主視圖控制器,直到while循環完成 - 在這種情況下,當變量是true不是嗎?

是否有一個視圖控制器檢查,如果一個變量已經更改,因此,一旦有,某些代碼可以運行之後,如果不凍結視圖控制器就像我覺得while循環會的方式?或者一種視圖控制器響應變量值的方式?

謝謝。

+1

是否考慮過使用UITextFieldDelegate或爲UIControlEventEditingChanged事件添加目標? – Abdullah 2015-04-03 15:37:30

回答

1

讓主視圖控制器監聽NSNotification,告訴它需要保存一些東西。當輸入文本時,照看文本字段的控制器發送通知。

您可以將新的文本(或其他信息)的通知,如果目標需要了解其詳細信息。

+1

非常感謝這 - 它正是我需要的!對於任何想要知道如何實現這個的人來說,都有這樣的答案[這裏](http://stackoverflow.com/a/24756761/4726712),它很好地解釋了它。 – cross 2015-04-03 15:46:36

相關問題