2012-03-24 32 views
0

我是編程和一些OOP概念的新手,我不確定什麼是「正確」的做某事的方式。基本上我的東西是我的mainViewController中的一個NSMutableArray。在推送到堆棧的新viewController中更新NSMutableArray

MainViewController: UITableViewController 

@property (nonatomic, retain) NSMutableArray *data; 

A加按鈕可被按下以將項目添加到該表中,或者如果選擇了一個已經存在的行,當前項可以被編輯。由於DetailViewController可以從加號按鈕或表格行選擇中顯示,因此我不確定構建DetailViewController的最佳方式。我在DetailViewController中設置了一個標誌,指出哪個方法在我的Save方法中顯示了DetailViewController,因此我插入對象(如果用戶按下plus),或者替換當前索引處的對象(如果用戶選擇了一行,並且I將索引傳遞給DetailViewController)?這樣做似乎有點笨拙,並且想知道做一些簡單的事情會更好。謝謝!

回答

0

您目前的MainViewController設置沒問題。你想爲你的DetailViewController做什麼是定義自己的觀點。鑑於您的應用程序的描述,如果你存儲在表中的每一行作爲一個對象這將是最好的:

MainViewController: UITableViewController 

@property (nonatomic, retain) NSMutableArray * data ; // an entry for each row 

DetailViewController: UIViewController 

@property (nonatomic, retain) SomeObject * object; // Represents a single row 

呈現在您的DetailViewController之一:

  1. 填充其管理的對象與現有行,萬一用戶 選擇現有項目
  2. 用新的管理對象填充它,一旦細節編輯完成
將被添加到 主列表

當您的詳細視圖控制器完成時,刷新表視圖。