簡體   English   中英

調用錯誤中的額外參數-Swift

[英]Extra argument in call error - Swift

我正在嘗試從我的Parse數據控制器中的數據列訪問隨機值。 我創建了一個查詢,如下所示,但始終收到一個錯誤消息:“ call中的額外參數”,該消息中顯示了query.orderbyDescending(objectId1)。 如果您不熟悉Parse,則有一列String數據稱為objectId,並且每行數據都有一個objectId。 選擇,投票,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查詢不是這樣做的方法嗎?

orderByDescending需要一個字符串,而您正在提供AnyObject! 請注意,如果您要分配一個非null值,則不必將變量聲明為隱式解包。 如果可以為null,則使用常規的可選,否則為非可選。

另外, PFObject已經公開了objectId字符串屬性,因此您不必使用下標即可檢索它:

let objectId1 = voteCount1.objectId

但是我注意到您的代碼中存在一個概念上的錯誤:您不按字段值對查詢進行排序-您按字段鍵(即字段名)進行查詢:

query.orderByDescending("objectId")

此外,我敢肯定的是, objectId它被存儲時,會自動分配一個唯一的值,所以你不必為一個值分配給它,就像你在你的代碼的最后一行所做的:

voteCount1["objectId"] = String()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM