我正在寻找有关如何管理列表保存应用程序数据的建议。本质上,我有两种对象类型:List
、ListItem
。 List
对象如下所示:
@interface List : NSObject
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSMutableArray *contents;
@property (nonatomic, copy) NSString *completed;
@property (nonatomic, strong) NSDate *creationDate;
-(id)initWithName:(NSString *)name contents:(NSMutableArray *)contents completed:(NSString *)completed date:(NSDate *)creationDate;
ListItem
:
@interface ListItem : NSObject
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *completed;
@property (nonatomic, strong) NSDate *creationDate;
-(id)initWithName:(NSString *)name completed:(NSString *)completed date:(NSDate *)date;
@end
目前,我将这些列表保存在 NSUserDefaults
中的一个数组中,但是我设想执行诸如“按创建日期、类型或名称对我的列表进行排序”之类的操作,我感觉好像我'会遇到困难。因此,在我自己继续编写这些方法之前,我想向大家提出一些问题:学习如何使用 Core Data 对我来说有意义吗?它真的会为我提供更好的功能/更可靠的数据持久化方式吗?
提前感谢您的建议。
最佳答案
如果您的应用程序的主要重点是存储基于这些对象的列表,我认为可能值得研究一下 Core Data。它可以让您更轻松地根据条件获取多个列表(如果您以后决定做类似的事情),并且让您在总体上更好地控制对存储数据的操作。
有一些工具可以帮助减少向 Core Data 的过渡,即 mogenerator和 Magical Record .
您需要的核心数据模型非常基础,在 ListItem 和 List 之间设置多对一关系对于您正在做的事情来说是完美的。
祝你好运!
关于iphone - 使用 Core Data 和 NSManagedObject 保存列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17734125/