【问题标题】:Core data does not load data in IOS 6IOS 6中核心数据不加载数据
【发布时间】:2012-12-31 01:36:18
【问题描述】:

我开发了一个在 iOS 5.1 上运行良好的应用程序,但是 在将我的 IDE 升级到 X-CODE 4.5 并在 iOS 6 上模拟我的应用程序后,CoreData 不会从 myDataBase.SQLITE 获取数据 以及从

返回的 NSInteger
  • (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

始终为 0。 X-CODE 4.5 没有显示任何错误!并且应用程序不会崩溃,只会显示一个空的 tableview! 为什么会这样? 我应该更改我的应用中的某些内容吗?

【问题讨论】:

  • 是什么让您认为您应该在数据库中拥有数据?您是否有第一次启动时创建数据的脚本?你从某个地方导入它吗?您是否导入示例数据库?或者您是否希望看到您在测试 iOS 5.1 版本时输入的相同数据?
  • 我已经用文本预填充了我的数据库,我想在 TableView 中查看它们。当我在我的 iPhone (iOS 5.01) 中测试我的应用程序时,应用程序运行良好并显示数据,但在模拟器 (iOS 6) 上什么也没显示。
  • 你是如何预填充数据库的?我正在考虑的是模拟器在iOS6和iOS5.1上运行时不共享数据库。
  • 我有几个我的应用程序副本。他们都没有在模拟器上显示数据。你还有什么建议?

标签: ios objective-c core-data ios6 simulator


【解决方案1】:

iOS 5 和 iOS 6 模拟器之间的数据不共享。这两个模拟器是完全独立的。由于您使用 sqlite 作为核心数据持久存储,因此请检查模拟器平台文件夹中的 .sqlite 文件,它实际上有记录。

顺便说一句,Core Data 不是数据库。这是一个常见的误解,可能会导致以后出现各种概念问题。它可以使用 sqlite 作为持久存储,但模型不是数据库。

【讨论】:

  • 哇,太好了。由于我在 10 个月前开发了该应用程序,因此我忘记将预填充的数据库复制到模拟器平台文件夹中。你在我心中点燃了火花!
【解决方案2】:

确保您要显示的数据确实在数据库中。

【讨论】:

  • 我的数据库已预先填充。
  • 不过,请确保它在那里。另外,请确保您正确检索它。你只是假设一切都在那里。
猜你喜欢
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-05
相关资源
最近更新 更多