【发布时间】:2016-01-04 02:06:19
【问题描述】:
我目前正在开发一个库存应用程序。我的目标是从 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()”会起作用,但它没有。谁能帮帮我?
【问题讨论】:
标签: ios swift parse-platform pfobject local-datastore