保存数据 - 核心数据与 plist 文件



我正在编写一个保存音乐专辑的iOS应用程序(只是我为了好玩而做的练习)。每张专辑都有一个歌手、歌曲名称、时间和一张图片最终结果将是许多具有许多细节的对象,包括附加到每个对象的图片。我甚至应该考虑用 plist 做这样的事情吗?(图片可以存储在plist中吗?

保存和访问该数据的最佳方式是什么?我是iOS的新手,从我看过的培训视频来看,不建议初学者使用Core Data。真的是这样吗?

如果我使用plist,

我应该为每个流派创建一个plist,例如rap.plist,rock.plist等,还是只是一个大数据.plist?

谢谢

我会选择核心数据。如果在 xcode 中创建新项目时选择了正确的模板,则可以显著减少一次性开销工作。

通过这个简单的结构,我会说模板几乎提供了您需要的一切。只需定义您的模型和布局即可。

只是有一些图像,我会花更多的时间来思考它。我个人从不将图像数据放入核心数据本身。我宁愿将它们存储为文件,在我的核心数据模型中,我只是存储路径和文件名来访问它。作为文件名,我只是使用了时间戳。您可以使用一些自动增量或其他唯一 id 技术,但时间戳也可以。无论如何,它对用户都是不可见的。

我认为最好的

方法,因为你是IOS的新手,就是使用sqlite。将所需的所有信息保存在本地数据库中,并将其显示在屏幕上。

如果数据结构较小,则可以使用 plist。

Note that property lists should be used for data that consists primarily 
of strings and numbers. They are very inefficient when used with large blocks 
of binary data. A property list is probably the easiest to maintain, but it will be loaded into memory all at once. This could eat up a lot of the device's memory.
With Sqlite you will easily be able delete , edit, insert your data into the database. 
Core data also uses sqlite for data storage only it helps you to manage your data objects, their relationships and dependencies with minimal code.

而且由于您是新手,因此我认为开始使用核心数据并不是一个好主意......所以我建议从普通的sqlite开始。将数据保存在应用的某个文件夹中,并将其路径存储在数据库中。

您不必编写不同的列表。如果您正在使用,则可以使用相同的。

编辑 :这是一个链接,可以帮助您学习sqlite

http://www.iosdevelopment.be/sqlite-tutorial/

您需要

更多代码来设置核心数据堆栈(存储协调器、存储、对象模型和上下文)

这有点复杂,但这不应该吓跑你。阅读 plist 确实很容易,但虽然对于较小的数据(如 info.plist)有好处,但它无法扩展,很快你需要一个成熟的 DB

当您编辑原始问题时,您决定现在使用 plist。在这种情况下,我会为每个 ablum 选择一个 plist,为专辑列表选择一个整体 plist。当然,您可以为类别等使用更多的plist。

但是,如果您正在考虑类别之类的数据结构,那么使用核心数据会好得多。尤其是在搜索方面。

似乎没有人提到 SQLLite,我会这样做,出于我在这里解释的原因(https://stackoverflow.com/a/12619813/1104563)。希望这有帮助!

coredata 是 Apple 提供的持久化工具,而 plist 是 XML 文件。我认为,不建议初学者使用核心数据的原因是,从编程的角度来看,核心数据比plist更难。对于您的应用程序,显然核心数据更合适。但是,您也可以使用存档文件,该文件介于核心数据和plist之间。

相关内容

  • 没有找到相关文章

最新更新