iphone - 使用 Core Data 和 NSManagedObject 保存列表

标签 iphone ios objective-c sqlite core-data

我正在寻找有关如何管理列表保存应用程序数据的建议。本质上,我有两种对象类型:ListListItemList 对象如下所示:

@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 的过渡,即 mogeneratorMagical Record .

您需要的核心数据模型非常基础,在 ListItem 和 List 之间设置多对一关系对于您正在做的事情来说是完美的。

祝你好运!

关于iphone - 使用 Core Data 和 NSManagedObject 保存列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17734125/

相关文章:

ios - 使用facebook 3.1 SDK从ios应用程序在facebook上发布状态

iphone - 我必须制作一个与支持 Modbus 协议(protocol)的设备进行通信的 iPhone 应用程序

iphone - 似乎无法摆脱UIBezierPath中的限制

iphone - ViewController 作为 subview

iphone - 在不同的 UIViewControllers 中显示相同的 UIView 实例

ios - 当后退按钮在导航栏中没有标题时,阻止左栏按钮向右移动

ios - 将 URLSession.DataTaskPublisher 转换为 Future 发布者

ios - 数组不删除重复项

ios - 当我在 iOS Xcode 项目中使用 ffmpeg 时,为什么会收到 Apple Mach-O 链接器 (ld) 错误?

ios - UICollectionView 没有完全填满页面,如何阻止它在应该在一个页面上时将项目推送到下一页?