0

我有以下问题。我需要为一家餐厅制作一个应用程序,用户将能够选择一道菜并为同一道菜添加偏好,比如更多的盐、薯条等……该应用程序会在线读取所有菜式和偏好。我正在考虑使用 NSUserDefaults 在将请求发送到服务器之前临时保存请求。有一些因素需要考虑:

  1. 用户可以编辑请求。
  2. 用户可以删除请求。

构建此应用程序的最佳方法是什么?NSUserDefaults 还是 CoreData?

提前致谢。

4

3 回答 3

1

核心数据主要用于处理海量数据,我个人认为您不需要将其用于餐厅。

于 2013-04-01T17:20:13.577 回答
1

如果你不熟悉 CoreData 并且数据项的数量相对较少,那么使用 NSUserDefaults 可能会更好。
但是,我认为正确的方法是使用 CoreData,因为它更加灵活和高效,并且您保存的数据在上下文上与用户默认值无关(我只会使用用户默认值来保存应用程序范围的数据和设置,不是数据记录)。使用 CoreData 更方便地更新、插入和删除数据记录。

于 2013-04-01T17:27:06.917 回答
1

两者都不。我会说实现一个实现 NSCoding 协议的自定义类。NSCoding 要求你实现两种方法:

- (id)initWithCoder:(NSCoder *)aDecoder;
- (void)encodeWithCoder:(NSCoder *)aCoder;

从那里,您将使用类似的东西[NSKeyedArchiver archiveRootObject:myCustomDishArray toFile:[self dishesFilePath]];

大多数 Cocoa 类已经实现了 NSCoding 协议,比如 NSArray,所以如果你有一个自定义类的实例数组,你可以归档这个数组。更多关于 NSCoding 协议的信息在这里

于 2013-04-01T17:28:36.523 回答