解析本地数据存储不起作用 - 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的主要内容,如果未能解决你的问题,请参考以下文章