【问题标题】:Parse 'Quick Start' with Swift - 'PFObject' does not have a member named 'subscript'使用 Swift 解析“快速入门”-“PFObject”没有名为“下标”的成员
【发布时间】:2015-12-08 02:22:12
【问题描述】:

这是我第一次尝试在 Swift 上使用 Parse,我已经按照 Parse 网站上的快速入门指南进行操作,如下所示:https://parse.com/apps/quickstart#parse_data/mobile/ios/swift/existing

不幸的是,我收到此错误,“PFObject”没有名为“下标”的成员。我完全按照编写的示例代码和说明进行操作,并重做了几次,但结果相同。我真的看不出我哪里出了问题,特别是因为它直接离开了网站。我在 Xcode 6.4 上使用 Parse 库的 1.8.3 版本以 iOS SDK 8.4 为目标。

这是 viewDidLoad 方法中 ViewController 上的代码(我记得包含 import Parse)

let testObject = PFObject(className: "TestObject")
testObject["foo"] = "bar"
testObject.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
  println("Object has been saved.")
}

这是我添加到 AppDelegate 的代码。同样,我已经按照指南中的说明导入了 Parse 和 Bolts。这是我唯一更改的代码,其余的就像标准的空白单视图应用程序一样。我已经编辑了应用程序 ID 和客户端密钥。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

Parse.enableLocalDatastore()

Parse.setApplicationId("-redacted-",
  clientKey: "-redacted-")

PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions)
}

关于如何解决这个问题或我可能出错的地方有什么想法吗?

【问题讨论】:

    标签: ios swift parse-platform


    【解决方案1】:

    我试过了,结果是一样的。 我也确实尝试过

    testObject.setValue("bar", forKey: "foo")
    

    同样的错误发生。似乎它正在插入“nil”而不是值或对象。我不知道为什么。

    不过,我可以建议使用 Parse.com 中的 Objective-C 文件,然后创建一个桥接头文件。

    然后执行 Swift 语言提供的代码 - AppDelegate.swift 中的代码和 viewDidLoad 中的代码。

    代码应该可以工作。

    我认为他们的 Swift Language 新框架一定存在问题/不兼容。我不确定。

    如果发生同样的错误,请使用

    testObject.setValue("bar", forKey: "foo")
    

    交换:

    testObject["foo"] = "bar"
    

    虽然我读过这个... 我不知道这是否与他们的入门项目中的问题有关: 'PFObject' does not have a member named 'subscript'

    【讨论】:

      【解决方案2】:

      您可能会等待一个更好的答案,其中有人解释了与解析对象相关的快速展开和可选类型(我希望我有资格给出这样的答案)。同时,一个快速的解决方法是绕过object["foo"] 糖,并使用属性访问的功能形式,如object.objectForKey("foo")

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-07
        • 1970-01-01
        • 1970-01-01
        • 2014-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多