我正在阅读有关如何使用Cocoa的SQL数据库的几个教程,这看起来很容易。我已经看了几个包装器,但我找不到任何保存对象的方法。
将我的模型对象符合NSCoding
协议是否正确,只需将NSKeyedArchiver
作为NSData
对象保存到数据库中?
我应该采用不同的方式吗?哪种方式最好?
答案 0 :(得分:0)
你也可以使用NSKeyedArchive,但不是最好的解决方案。就像将所有数据存储在一个独立于平台的“数据库”和一个xml文件中。它不是为此创建的,它没有为此优化。 我会创建一个NSSqlArchieve并将我想要的那些字段映射到本机数据库中,因为:在不同的数据库中,您可以拥有自定义字段,自定义类型字段,这些字段可以改进选择或其他数据库操作。或者你只是想采取一些系统表/数据的优点,无法找到映射或是缓慢或其他问题。
NSData可以存储/检索到Blob / Clob,因为它是二进制数据。 但是所有数据都转换为二进制格式并将其存储到数据库....为什么要存储在那里以及为什么不存储到文件中。数据库是为了存储和从数据进行查询而发明的。