4

我目前正在使用最新版本的 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 中的错误。

4

1 回答 1

0

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

于 2017-07-07T23:45:08.823 回答