【问题标题】:Extra argument in call error - Swift调用错误中的额外参数 - Swift
【发布时间】:2014-11-23 07:32:39
【问题描述】:

我正在尝试从 Parse 数据控制器中的一列数据中访问一个随机值。我按如下方式创建了一个查询,但不断收到一条错误消息,上面写着“调用中的额外参数”,其中显示的是 query.orderbyDescending(objectId1)。如果你不熟悉 Parse,有一列名为 objectId 的 String 数据,每行数据都有一个 objectId。 Choices、votes、votes2、optionName 和 optionName2 也都有自己的列。

var query = PFQuery(className: "VoteCount")
    let objectId1: AnyObject! = voteCount1["objectId"]
    query.orderByDescending(objectId1) {
        (voteCount1: PFObject!, error: NSError!) -> Void in
        if error != nil {
            NSLog("%@", error)
        } else {
            voteCount1.incrementKey("votes")
            voteCount1.saveInBackgroundWithTarget(nil, selector: nil)
            let votes = voteCount1["votes"] as Int
            let votes2 = voteCount1["votes2"] as Int
            let option1: AnyObject! = voteCount1["optionName"]
            let option2: AnyObject! = voteCount2["optionName2"]
            self.pollResults1.text = "\(votes)"
            self.showOption1.text = "\(option1)"
            self.showOption2.text = "\(option2)"
        }
    }

我在这里的 viewDidLoad 方法中定义了我的所有变量:

    var voteCount1 = PFObject(className: "VoteCount")
    voteCount1["choices"] = 2
    voteCount1["votes"] = Int()
    voteCount1["votes2"] = Int()
    voteCount1["optionName"] = String()
    voteCount1["optionName2"] = String()
    voteCount1["objectId"] = String()

我做错了什么?我想做的就是从我的 Parse 数据控制器中的随机 objectId 收集我的 viewDidLoad 方法中定义的所有变量。 orderByDescending 查询不是这样做的方法吗?

【问题讨论】:

    标签: ios swift parse-platform


    【解决方案1】:

    orderByDescending 需要一个字符串,而您提供的是 AnyObject!。请注意,如果您应该分配一个非零值,则不必将变量声明为隐式展开。如果可以为 null,则使用普通可选,否则使用非可选。

    另外,PFObject 已经公开了一个 objectId 字符串属性,因此您不必使用下标来检索它:

    let objectId1 = voteCount1.objectId
    

    但是我注意到您的代码中有一个概念性错误:您没有按字段值对查询进行排序 - 您按字段键(即字段名称)进行排序:

    query.orderByDescending("objectId")
    

    此外,我很确定 objectId 在存储时会自动为其分配一个唯一值,因此您不必为它分配一个值,就像您在代码的最后一行:

    voteCount1["objectId"] = String()
    

    【讨论】:

      猜你喜欢
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多