非常基本的問題,我似乎無法找到直接的答案。iOS組件可重用性:視圖和視圖控制器
所以這裏的交易:我有一塊用戶界面,我想在一個界面中重複使用。特別是,它應該作爲子視圖包含在作爲導航堆棧一部分的父視圖中,但也可用作獨立模式視圖。有問題的子視圖只是一個自定義的UITableView,其子控制器實現了其數據綁定方法。
子視圖應該綁定到特定的模型對象,從中獲取其所有數據。換句話說,它的控制器爲基於該目標模型對象的UITableViewDataSource實現必要的數據綁定方法。
在我看來很明顯我需要創建一個控制器來表示這個可嵌入的子視圖,因爲這些數據綁定方法的實現在所有實例中都是相同的,但似乎iOS 5之前(我目前需要支持iOS 4+)強烈建議不要在其他視圖控制器中嵌入視圖控制器。
這完全違反MVC模式蘋果據說僱用可可(我仍然不相信他們已經實現了什麼是MVC)。如果我不允許嵌入子視圖控制器,我應該如何在不同的父接口中重用我的子視圖控制器的數據綁定/模型邏輯?
...誰創建tableView? – devios1 2013-03-17 21:13:35
哦,我看到了,我只是將tableView添加到每個需要它的父接口,然後使用此自定義控制器類的實例將其「綁定」到我的數據源。好的,可以工作。 – devios1 2013-03-17 21:14:37
或者你可以在'MyController'上只有'tableView'屬性...你將在視圖控制器的初始化方法中實例化一個MyController對象,並將它存儲在一個實例變量中。然後在'viewDidLoad'中,你可以用全新的'UITableView'對象設置'tableView'屬性。 – fumoboy007 2013-03-17 21:36:43