2012-02-08 102 views
0

我有一個客戶視圖控制器,它是UITableViewController的子類。它有一個列出所有客戶的列表。我在右上角有一個+按鈕。我想這樣做,當人們點擊+時,它會轉到添加客戶屏幕,點擊保存後,它會像iPhone聯繫人列表一樣行事,然後顯示新添加的客戶。iPhone:查看/編輯/列表控制器

我需要爲每個視圖創建一個控制器嗎?一個顯示列表,一個添加人員和一個查看聯繫人,然後另一個編輯聯繫人?或者我應該使用一個控制器,並將IB中的一些視圖添加到單個視圖控制器中?

回答

1
  1. 創建CustomerListController以查看所有客戶。
  2. 創建一個CustomerViewController用於查看和編輯細節。
  3. 子類CustomerViewController稱它CustomerAddController創建,因爲這將需要多一點的功能。

Core Data Recipes應用程序會給你一些好的指針。

如果你希望它只是創造紀錄後你點擊保存,你需要:

  1. 創建一個額外的NSManagedObjectContext,假設你使用核心數據。
  2. 將該上下文傳遞給CustomerAddController類的實例只有(視圖類不需要)。
  3. 保存按鈕被擊中時,您需要合併CustomerListController中的兩個NSManagedObjectContext類。
0

我相信聯繫人應用程序做它的方式是:

  • 聯繫人列表是一個UINavigationController
  • 觸摸+模態呈現一個UITableViewController(從導航控制器)的不同視圖控制器添加聯繫人
  • 觸摸完成將一個新的視圖控制器到用於查看新創建的接觸導航控制器,但仍由於模態呈現接觸加入視圖控制器是在頂部它是不可見的。緊接着,模態視圖控制器被解散,顯示新創建的聯繫人。

要回答你的問題,我建議使用三個不同的視圖控制器,就像聯繫人應用程序。

0

我建議你使用不同的視圖爲每一個任務,因爲使用一個IB文件使用那裏,如果你使用不同的IBS和視圖控制器每個任務那麼就沒有太多的內存使用和完成一個任務後,更多的內存例如,當您保存用戶詳細信息時,可以釋放該視圖的內存,以便您的應用程序不佔用太多內存。