解析本地数据存储:无法获取固定对象

时间:2015-08-04 19:36:49

标签: ios parse-platform local-datastore

我的应用是将contact个对象存储在本地数据存储区中。它只是将所有通讯簿联系人复制到Parse Local Datastore中。在我的情况下,我创建了大约200个新联系人,并用这行代码存储它们:

PFObject.pinAllInBackground(addressBookContacts, block: { (contact) -> () in NSLog("contacts pinned")})

每次启动我的应用时,我会查找存储的对象,并通过此查询将其呈现给用户:

let localQuery = PFQuery(className: "Contact")
localQuery.fromLocalDatastore()
localQuery.findObjectsInBackgroundWithBlock({ (localresults: [AnyObject]?, error: NSError?) -> Void in
    // show contacts to the user
})

如果找不到联系人,我会查看地址簿并重新创建。

问题是在某些情况下查询不返回任何内容。 我启动应用程序,等待“联系人固定”出现在控制台中(只是为了确保调用引脚回调)并一次又一次地重新运行应用程序 - 最终查询返回重复的联系人(大约800个),所以我'确保在以前的尝试中固定成功,但在大多数情况下查询不会看到它们。为什么会这样?

更新

我已将fetch方法包装在dispatch_after块中,以延迟查询几秒钟并修复了错误!看起来我的查询试图在尚未准备好的情况下获取本地数据存储区?查询回调中没有错误消息,没有任何错误消息。

0 个答案:

没有答案