我有以下问题。 我需要为一家餐馆做一个应用程序,用户可以选择一道菜并为同一道菜添加喜好,例如更多的盐,薯条等...该应用程序在线阅读所有的菜肴和偏好。 我想在使用NSUserDefaults将请求发送到服务器之前暂时保存这些请求。 有一些因素需要考虑:
构建此应用程序的最佳方法是什么? NSUserDefaults还是CoreData?
提前致谢。
答案 0 :(得分:1)
核心数据主要用于处理大量数据,我个人认为您不需要将其用于餐馆。
答案 1 :(得分:1)
如果您不熟悉CoreData并且数据项数量相对较少,那么使用NSUserDefaults可能会更好。
但是,我认为正确的方法是使用CoreData,因为它更加灵活和高效,并且您保存的数据与用户默认值无关(我只使用用户默认值来保存应用程序范围的数据和设置,不是数据记录)。
使用CoreData可以更方便地更新,插入和删除数据记录。
答案 2 :(得分:1)
都不是。我想说实现一个实现NSCoding协议的自定义类。 NSCoding要求您实现两种方法:
- (id)initWithCoder:(NSCoder *)aDecoder;
- (void)encodeWithCoder:(NSCoder *)aCoder;
从那里开始,您将使用[NSKeyedArchiver archiveRootObject:myCustomDishArray toFile:[self dishesFilePath]];
大多数Cocoa类已经实现了NSCoding协议,比如NSArray,所以如果你有自定义类的实例数组,你可以只归档数组。 有关NSCoding协议的更多信息Here。