我正在使用 swift 3.0 进行本地解析
我正在查询以从服务器获取结果。但如果没有连接,它不会显示我们最后获得的结果,因为失去连接。
所以我想做的是保存查询结果,如果没有连接可以查看
这是查询:
var query = PFUser.query()
query = PFQuery(className: "_User")
// query?.fromLocalDatastore()
query!.whereKey("objectId", equalTo: PFUser.current()!.objectId!)
query!.findObjectsInBackground {
(objects , error) -> Void in
if error == nil {
for object in objects! {
self.usernamelbl.text = object["username"] as! String
if let userp = PFUser.current()?["photo"] as? PFFile {
userp.getDataInBackground {
(imageData, error) -> Void in
if error == nil {
self.profilepic.image = UIImage(data: imageData!)!
}
}
}
}
现在,如果应用程序关闭,我如何保存结果并离线查看它们? 任何帮助将不胜感激
最佳答案
可以设置特定 PFQuery
调用的缓存策略。要将副本保存到磁盘,并在进行另一次网络访问之前依赖它,您可以设置 kPFCachePolicyCacheElseNetwork
策略。
然而根据这个Parse question ,显然对这些缓存允许的大小有非常严格的限制。我不确定这些是否仍然适用于 Parse 的开源版本,但如果您想将更多信息保存到磁盘,使用更专用的数据持久性框架可能是合适的,例如 Core Data、SQLite 或 Realm (完全披露:我为 Realm 工作。:) )
为了图像文件的目的,我建议您手动管理磁盘上的缓存,而不是将其存储在 Parse 的缓存中(由于大小限制)。那里有一些很棒的图像缓存库(例如 PINCache),可以让这一切变得非常简单。
关于ios - Swift Parse 如何使应用程序离线工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40050038/