@lvalue $ T5'与Swift中的AnyObject不同

时间:2015-01-27 22:22:24

标签: ios arrays swift parse-platform

我有一个自定义的TableViewCell,它有一个标签和一个按钮。我有一个Int数组groupVote,它包含将填充voteScoreLabel中标签UITableView的值。当点击按钮upVoteButtonPressed时,使用标签更新单元格的相应值。但是在下面的代码中有一个错误(我在下面的代码中放了特定的行)显示:@lvalue $ T5'与'AnyObject!'不同,当我想更新Parse中的值时。它是什么意思,我该如何解决?

@IBAction func upVoteButtonPressed(sender: AnyObject) {
    println(groupVote[voteScoreLabel.tag])
    groupVote[voteScoreLabel.tag]=groupVote[voteScoreLabel.tag]+1
  var messageDisplayTwo = PFQuery(className:currentScreen)
    messageDisplayTwo.whereKey("identifier", equalTo:voteScoreLabel.tag )
    messageDisplayTwo.findObjectsInBackgroundWithBlock {
        (objects: [AnyObject]!, error: NSError!) -> Void in
        if error == nil{
            for object in objects {
                var textNumb=groupVote[self.voteScoreLabel.tag] as Int
                object["vote"]=textNumb //Error Right Here: @lvalue $T5' is not identical to 'AnyObject!


            }

        } else {
            // Log details of the failure

        }
    }

2 个答案:

答案 0 :(得分:3)

您需要将objects投射到PFObject的数组。

for object in objects as [PFObject] {
        var textNumb = groupVote[self.voteScoreLabel.tag] as Int
        object["vote"] = textNumb
}

答案 1 :(得分:0)

尝试使用以下语法:

query.findObjectsInBackgroundWithBlock{

            (objects: [AnyObject]!, error: NSError!) -> Void in


            if (error == nil) {
                // objects in results will only contain the playerName and score fields

                for object in objects as [PFObject] {
...
...