1

我正在阅读一些关于如何在 Cocoa 中使用 SQL 数据库的教程,看起来很简单。我也已经看过一些包装器,但是我找不到任何保存对象的方法。

使我的模型对象符合NSCoding协议并将其NSKeyedArchiver 作为NSData对象保存到数据库中是否正确?

我应该采取不同的做法吗?哪个是最好的方法?

4

1 回答 1

0

您也可以使用 NSKeyedArchive,但恕我直言,这不是最好的解决方案。就像将所有数据存储在一个独立于平台的“数据库”一个 xml 文件中。它不是为此而创建的,也不是为此而优化的。我会创建一个 NSSqlArchieve 并将我想要的那些字段映射到本地数据库中,因为:在不同的数据库中,您可以有自定义字段、自定义类型字段,这可能会改进选择或其他数据库操作。或者您只是想利用某些系统表/数据而找不到映射或速度慢或其他问题。

NSData 可以存储/检索到 Blob/Clob,因为它是二进制数据。但是所有数据都转换为二进制格式并将其存储到数据库中……为什么要存储在那里,为什么不存储到文件中。发明数据库是为了存储和查询数据。

于 2013-08-16T18:16:00.153 回答