ios - Swift Parse 如何使应用程序离线工作?

标签 ios swift parse-platform swift3

我正在使用 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/

相关文章:

javascript - 无法使用 parse.com 保持基本的云代码功能正常工作

ios - 重启应用后 PFUser currentUser 返回 nil

ios - 应用在前台时 iOS 上的横幅

swift - 如何在 Swift 中创建类方法/属性?

ios - 当用户在 iOS 上打开应用程序切换器时监听事件

ios - 修复了滚动时消失的按钮/单元格

iOS 将电话号码转换为国际格式

javascript - 解析后台作业未正确查询所有用户

iphone - 移动端和网络服务器之间的数据同步

objective-c - 类似于 CLRegion 的方形区域