ios - 显示数据库中的数据 - CoreData 如何走?

标签 ios database xcode uitableview core-data

我已经开发了相当多的本地应用程序,但是这是我第一次引入网络(更具体地说是发布到数据库并从数据库中读取)。我正在从数据库收到一个 JSON 对象,但我当前正在使用数组和字典。这些对象确实相互之间存在关系,我想知道 CoreData 是否是正确的选择。如果是这样,我是否只需复制希望在应用程序中可见的部分数据库并将其存储在我的 CoreData 模型中?有这方面的教程吗?

此外,作为旁注,我还添加了 Facebook 集成,通过它我可以下载用户的好友列表。 CoreData 也适合存储此类信息吗?或者我会更好地坚持使用字典吗?

提前致谢。

最佳答案

根据我的经验(其他人可能会说不同的话)核心数据是正确的选择,但它的采用可能取决于您可以投入的时间。一开始可能会非常复杂,但我认为您可以在其他一些项目中应用这些知识。

那里有一些关于核心数据的教程或书籍。

首先我建议阅读 core-data-on-ios-5-tutorial-getting-started .我认为该网站还有其他教程。然后,你可以尝试阅读我前段时间写的一篇关于核心数据的文章:Mapping Business Objects with Core Data in iOS . Apple 文档也是您的 friend 。所以请阅读Introduction to Core Data Programming Guide了解正在发生的详细信息。

If so, do I just replicate part of the database I wish to be made viewable in the app and store it in my CoreData model?

是的,只是一部分。您可以创建一个最小模型,其中包含设备中需要的关键部件。我想强调的是,在处理核心数据时,您不需要考虑规范化概念。是的,你可以,但是在 CD 中你处理的是对象,并且重要的是要注意内存消耗(框架可以帮助你)和性能。

Would CoreData be good for storing this kind of information too? Or would I be better sticking with dictionaries?

通过 CD,您可以利用 NSFetchedResultsControllerNSFetchedResultsController 对象经过优化,可以与表配合使用,并且还可以批量显示数据。通过这个组件,你可以处理很多元素(比如 Facebook 中的 friend ),而不会造成内存重载。参见 core-data-tutorial-how-to-use-nsfetchedresultscontroller .

如果您想了解其他信息,请告诉我。

希望对您有所帮助。

关于ios - 显示数据库中的数据 - CoreData 如何走?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11002026/

相关文章:

xcode - 如何仅在链接时有条件地使用静态库

iphone - 在UITableViewController中的viewWillAppear之后未调用didDeselectRowAtIndexPath

objective-c - 在 4.2+ 中,如何设置项目以像 XCode 4.0 中的 'Window-Based Application' 项目模板一样运行?

Xcode - 如何在构建后将可执行文件复制到新位置?

ios - Swift:检查存储在 NSMutableArray 值中的 JSON 值

ios - 在 iOS 上自定义 MPVolumeView 的高音量警告

android - 如何在新的 JSON 内容出现时更新 android 数据库?

sql - 在oracle查询中获取有限条件

database - 主键列的命名约定是什么?

ios - EMBEDDED_CONTENT_CONTAINS_SWIFT -- pod 安装后出错