查询ParseUser Swift 3错误

时间:2017-01-31 18:59:16

标签: ios uitableview parse-platform swift3

我收到错误:无法转换类型'([PFObject]?,NSError?) - >的值虚空'预期的参数类型'([PFObject] ?,错误?) - >无效?

导致此错误的代码位于下方。

findUser.findObjectsInBackgroundWithBlock {
        (objects:[PFObject]?, error:NSError?) -> Void in
        if error == nil{
            let user:PFUser = (objects as NSArray).lastObject as PFUser
            cell.usernameLabel.text = user.username

            UIView.animateWithDuration(0.5, animations: {
                cell.typeOfPartyLabel.alpha = 1
                cell.timeOfPartyLabel.alpha = 1
                cell.usernameLabel.alpha = 1
            })
        }
    }


    return cell
}

过去几天我一直坚持这个错误而且我似乎无法找到一个可行的解决方案,我发现是用PFObject切换anyObject,但是我得到了同样的错误。我试图查询userName并将其显示在UITableView Cell中。

谢谢

1 个答案:

答案 0 :(得分:0)

这是错误信息的主要内容:

无法转换类型的值'([PFObject]?, NSError ?) - > Void'到预期的参数类型'([PFObject]?,错误?) - >无效?

Swift 3.0引入了Error protocol,这就是你在这里捕捉到的。

请尝试以下更改,看看它是否可以解决您的问题:

findUser.findObjectsInBackgroundWithBlock {
        (objects:[PFObject]?, error: Error?) -> Void in // Changes NSError to Error
        if error == nil{
            let user:PFUser = (objects as NSArray).lastObject as PFUser
            cell.usernameLabel.text = user.username

            UIView.animateWithDuration(0.5, animations: {
                cell.typeOfPartyLabel.alpha = 1
                cell.timeOfPartyLabel.alpha = 1
                cell.usernameLabel.alpha = 1
            })
        }
    }


    return cell
}