2012-09-17 34 views
0

我从网上抓取数据,然后保存在coredata中。并非所有数据都必须新建。如果数据与先前存储的数据相同,那么我们使用旧数据。如何知道coredata不加载错误?

为了加快保存过程,我预取了旧数据。

结果仍然很慢。保存过程仍然缓慢。

我怀疑核心数据在预取后再次发生IO跳闸。

我们如何知道它是否再次出现?我们可以突破“IO”之旅吗?

回答

1

要监控的核心数据/ SQLite的活动,您可以

  • 转到“编辑计划...”,并增加“-com.apple.CoreData.SQLDebug 1”到“传承启动参数”。然后,您将获得所有SQLite操作的控制台输出。
  • 使用Instruments和“核心数据”工具来配置您的应用程序。
+0

+1。我会怎么做没有再次stackoverflow。 –

+0

因此,每当-com.apple.CoreData.SQLDebug 1唱什么,然后发生IO? –

+0

不,因为SQLite有它自己的页面缓存。我不是这方面的专家,但我认为你可以粗略地说当你看到“sql:COMMIT”消息时,所有的改变都被刷新到磁盘。 –