2011-04-06 23 views
0

背景 - 通常使用基本的UIViewControllers,我將介紹如何創建標記爲IBOutlet的實例變量,並使用Interface Builder將這些變量鏈接到實際的視圖控件。我可以將UIView控件(例如UILabel,UIPickerView)直接鏈接到模型實例變量嗎?

問題 - 如果我將模型對象傳遞給UIViewController,是否有方法將視圖控件(例如UILabel,UIPickerView等)直接鏈接到模型變量(即自定義類中的有效實例變量)?

只要用戶更改UI控件,就會立即更新模型屬性。假設您已將模型作爲參考傳遞給控制器​​,因此您已自動更新父項的值作爲結果。我想這會避免(a)在初始化時翻譯模型值來設置UI組件,並且(b)當視圖不得不從UI組件手動更新模型變量時。

+0

您是否希望能夠使用自定義對象作爲IBOutlet的視圖控制器? – Sabobin 2011-04-06 13:25:37

回答

2

與onnoweb狀態一樣,我不認爲有任何方法可以自動執行此操作 - 主要是因爲Obj-C永遠不會知道您實際尋找的變量類型。然而,你可以可以(我強調這一點),讓你的模型控制你的視圖,讓你的模型有一個視圖作爲屬性。儘管如此,考慮到Obj-C構建在MVC架構上,我不會建議它。讓你的控制器完成這項工作。如果你正確設置觸發器,這應該不是一個大問題。

+0

thanks - so re「讓你的控制器完成工作,如果你正確設置了觸發器,這應該不是一個大問題」 - 你指的是在你進入視圖時,手動設置UI控件,並且在他們改變之後手動更新模型值? – Greg 2011-04-06 21:07:39

+0

是的,我認爲這是一個體面的解決方案,即使考慮到你的問題 – 2011-04-06 22:51:51

1

我不認爲Obj-C具有屬性綁定的概念。

相關問題