gpt4 book ai didi

ios - 解析 : Does not query saved objects in local datastore

转载 作者:行者123 更新时间:2023-11-28 08:56:09 25 4
gpt4 key购买 nike

我目前正在开发一个库存应用程序。我的目标是从 Parse 中检索对象,然后保存到本地数据存储中。从 Parse 查询对象并保存它们是有效的(因为控制台消息),但稍后从本地数据存储查询,不会检索任何东西!这是我的代码:

let query = PFQuery(className: "Publication")
query.limit = 150
query.selectKeys(["publication_id","publication_Type","publication_Name"])
dispatch_async(dispatch_get_main_queue()) { () -> Void in
query.findObjectsInBackgroundWithBlock({ (pubObject, error) -> Void in
if error == nil {
print("Succesfully retrieved \(pubObject!.count)")

PFObject.saveAllInBackground(pubObject, block: { (success, error) -> Void in
print("Saved \(pubObject!.count) in local DataStore")
})

}
})
}

此消息来自 XCode 控制台:

"成功取回103在本地 DataStore 中保存了 103"

到目前为止还不错吧?这是我要从本地数据存储区查询时的代码:

dispatch_async(dispatch_get_main_queue()) { () -> Void in
let bookQuery = PFQuery(className: "Publication")
.fromLocalDatastore()
bookQuery.whereKey("publication_Type", equalTo: "Book")
bookQuery.findObjectsInBackgroundWithBlock { (bookObject, error) -> Void in

if error == nil{
print("Books found: \(bookObject!.count)")
self.displayData(bookObject!)

}
}
}

我从控制台得到:找到的书:0。

什么给了?我究竟做错了什么?我读啊读啊读。没有什么。我认为“.ignoreACL()”会起作用,但它没有。谁能帮帮我?

最佳答案

我看不到您将 PFObject 固定到本地数据存储的位置。也许这是你的问题。

调用任何 PFObject 的保存方法会将它们保存回您的解析服务器,而不是本地数据存储。查看如何使用 pin 来完成您想要的。

此外,将这些异步调用分派(dispatch)到主队列是没有意义的。它们已经在后台队列中执行。在大多数情况下,如果您想对 UI 执行某些操作并且应该在完成处理程序中完成,您只需要分派(dispatch)回主队列。

关于ios - 解析 : Does not query saved objects in local datastore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32982112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com