【发布时间】:2013-02-20 18:44:13
【问题描述】:
我是 iOS 编程新手,编写了一个简单的提醒样式应用程序,我现在正在重写它以正确实现 MVC 模型,因为以前我的所有代码都在视图控制器中。
我有一个名为 Event 的自定义类,其中包含属性名称、时间、重复等,然后是以下结构:
模型类
在NSUserDefaults 中检索、处理和保存数据
RootViewController
创建模型对象的一个实例并要求模型从NSUserDefaults返回所有事件对象,然后将它们显示在UITableView中
EditEventViewController
[editEventVC initWithEvent:theEvent];
通过 init 方法传递在表格单元格中选择的特定事件对象,并显示所有可编辑的属性
EditEventPropertyViewController
[editEventPropertyVC initWithValue:propertyValue];
通过 init 方法传递要编辑的属性值(例如事件名称),并通过委托方法返回用户更新的值
这是实现此应用的正确方法吗?
在使用 EditEventViewController 完成后,通过模型将更新的 Event 对象保存在 NSUserDefaults 中的最佳方法是什么?通过代表?目前我正在 rootViewController 中的 viewWillAppear 上重新加载 uitableview 数据,因此它必须在再次检索之前保存更新的数据。
谢谢
【问题讨论】:
-
我不喜欢使用 nsdata 作为我的“持久”存储。虽然你为什么不尝试核心数据,但它对设置有好处
-
@amar - 谢谢,是的,我打算在完成这项工作后使用 Core Data,但我认为在结构方面原则是相同的?
-
您可以使用委托方法或通知器进行数据传递
标签: iphone ios objective-c model-view-controller