2012-03-24 33 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. 用新的管理对象填充它,一旦细节编辑完成
将被添加到 主列表

当您的详细视图控制器完成时,刷新表视图。