解析本地数据存储不起作用 - Swift 2

Posted

技术标签:

【中文标题】解析本地数据存储不起作用 - Swift 2【英文标题】:Parse local datastore doesn't work - Swift 2 【发布时间】:2017-01-05 09:26:48 【问题描述】:

我目前正在使用最新版本的 Parse 1.14.2 和 Bolts 1.8.4。Parse 已正确实现,并且我已经使用了很长时间。我现在面临的问题是当我尝试使用 Parse 的本地数据存储时。我的 AppDelegate.swift 中有以下代码:

Parse.enableLocalDatastore()
                Parse.setApplicationId("ID",
                clientKey: "Client_Key")

我有以下代码来创建一个名为firstName 的字符串并将其保存在一个名为contact 的类中:

let contact = PFObject(className: "contact")
                        contact["firstName"] = "Jack"
                        contact.pinInBackground()

这是从创建的类中检索对象的代码:

                            let query = PFQuery(className: "contact")
                        query.fromLocalDatastore()
                        query.getFirstObjectInBackgroundWithBlock( (object, error) -> Void in
                            if error == nil 
                                if let contact = object 
                                    print(contact.objectForKey("firstName"))

                                
                            
                        )

我已将libsqlite3.dylib 添加到我的项目中。当我运行此代码时,我的应用程序不会崩溃,但当我尝试检索对象时它只会给我以下消息:

    2016-08-29 11:31:38.049 App_Demo[14436:3504319] [Bolts] Warning: `BFTask` caught an exception in the continuation block. 
This behavior is discouraged and will be removed in a future release. 
Caught Exception: Method requires Pinning enabled.

谁能帮我解决这个问题?我猜问题是这个版本的 Bolts 不能在后台固定 Parse 对象,我需要解决这个错误。任何帮助将不胜感激,因为我已经被困了一段时间并且无法在网上找到太多信息。

已编辑:我曾尝试降级 Bolts,但随后 Parse 在 Cocoapod 中使用它进行降级,这会导致 Xcode 出现错误。

【问题讨论】:

您找到解决方案了吗?我也面临同样的问题 不,我尝试了一切,我放弃了这种方法。我不是编程专家,也没有找到解决方案,但我认为由于 Parse 正在关闭,他们实际上并没有在他们的新 SDK 中为 swift 2+ 更新本地数据存储功能。在尝试使用 Parse 实现 FB 登录时,我也遇到了一些问题。在这种情况下,在 Xcode 中使用核心数据对我来说更容易(必须从头开始学习核心数据,但值得)。 【参考方案1】:

这不是 objectforkey。 您需要调用 object["UsedName"] "UsedName" 作为键。希望有帮助。

【讨论】:

以上是关于解析本地数据存储不起作用 - Swift 2的主要内容,如果未能解决你的问题,请参考以下文章

解析本地数据存储不显示固定数据

Swift,NSCoding 保存类的数组不起作用

解析本地数据存储:取消固定对象似乎在 Swift 中被破坏

从本地存储中检索数据不起作用

Swift Parse - 本地数据存储并在表格视图中显示对象

Swift UrlSession 在 UrlSession 中不起作用