Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 数据存储问题_Cocoa_Data Storage - Fatal编程技术网

Cocoa 数据存储问题

Cocoa 数据存储问题,cocoa,data-storage,Cocoa,Data Storage,另一个新手问题:在用Obj-C编写的Cocoa应用程序中存储数据的最佳方式是什么?例如,如果我想创建一种“测验者”,用预先编写的(和用户编写的)问题对用户进行测验?我将如何存储这些问题和答案?核心数据 谢谢 当然是核心数据 它能处理一切。。请看这里: 这是一个完整的API,可以处理: 数据库和运行时对象之间的ORM 坚持 自动构建工具(如ER编辑器) 它是现成的,您几乎不需要实现任何东西。。您只需向对象控制器查询数据,就可以访问数据 对于您的问题,此解决方案的规模可能过大,但您将通过一个简单

另一个新手问题:在用Obj-C编写的Cocoa应用程序中存储数据的最佳方式是什么?例如,如果我想创建一种“测验者”,用预先编写的(和用户编写的)问题对用户进行测验?我将如何存储这些问题和答案?核心数据


谢谢

当然是核心数据

它能处理一切。。请看这里:

这是一个完整的API,可以处理:

  • 数据库和运行时对象之间的ORM
  • 坚持
  • 自动构建工具(如ER编辑器)
  • 它是现成的,您几乎不需要实现任何东西。。您只需向对象控制器查询数据,就可以访问数据

对于您的问题,此解决方案的规模可能过大,但您将通过一个简单的案例学习如何使用它,我将在将来派上用场。

正如@Jack所示,核心数据无疑是一个很好的选择。还有其他一些选择

  • NSCoding
    -您可以使模型对象符合NSCoding协议(类似于
    java.io.Serializable
    ),这意味着您可以直接将它们写入文件。我发现,当我没有大量数据需要持久化时,这是一个很好的选择,而我持久化的数据具有相对简单的结构

  • < L> > SQLite——如果您的数据非常相关,您可能需要考虑直接使用数据库(可能SQLite)。核心数据是一个对象存储,虽然它处理对象之间的关系,但它不允许您执行真正有用的操作,如
    内部/左侧/外部/交叉/自然联接
    或其他多表运算符

  • NSUserDefaults
    -如果您的数据非常小,基本上只是键值对,那么您可能可以将其全部放入
    NSUserDefaults
    对象中,该对象将为您保留在首选项文件中。但是,即使您的数据很简单,
    NSUserDefaults
    如果数据很多,也可能不是最佳选择


  • 好啊我考虑了一会儿核心数据,它看起来相当复杂,我不确定是否要使用它。。。但现在我肯定会用它。谢谢你回答我的问题!哇,谢谢。我以前从没听说过一半的。另外:在核心数据中,是否可以将数据“导出”到外部文件中?(对于“导入”它的其他应用程序?)或者它已经处于可导出状态?我只是想知道,@Nano8Blazex任何进口或出口都必须由您用代码完成。