我目前正在使用最新版本的Parse 1.14.2和Bolts 1.8.4.Parse正确实现,我已经使用了很长时间了.我现在面临的问题是当我尝试使用Parse的本地数据存储区时.我的AppDelegate.
swift中有以下代码:
Parse.enableLocalDatastore() Parse.setApplicationId("ID",clientKey: "Client_Key")
我有以下代码在名为contact的类中创建并保存名为firstName的字符串:
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对象,我需要绕过这个bug.任何帮助将不胜感激,因为我已经坚持了一段时间,在网上找不到太多的信息.
编辑:我已经尝试降级螺栓,但随后Parse在Cocoapod中降级它,它会导致Xcode出错.
解决方法
它不是objectforkey. 您需要调用object [“UsedName”]“UsedName”作为键.希望有所帮助.