[英]Parse: Does not query saved objects in local datastore
我目前正在開發庫存應用。 我的目標是從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
的save方法會將它們保存回解析服務器,而不是本地數據存儲。 查找如何使用pin
來完成所需的操作。
同樣,將這些異步調用分派到主隊列也沒有任何意義。 它們已經在后台隊列上執行。 在大多數情況下,如果您要對UI進行操作,則只需要分派回主隊列即可,這應該在完成處理程序中完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.