使用未解析的标识符错误对象

时间:2015-07-22 22:07:27

标签: swift parsing username

我正在尝试从解析中的信息更新用户名标签。我无法弄清楚并且已经挣扎了很长一段时间,而我的工作并没有。

  let query = PFUser.query()!
    query.whereKey("objectId", equalTo: (quote["publisher"] as! String))
    query.getFirstObjectInBackgroundWithBlock({ (user: PFObject?, error: NSError?) in
            if error == nil{
            let user:PFUser = (objects as NSArray).lastObject as! PFUser//error here
            cell.publisherLabel.text = user.username
        }
    })

我得到的错误是使用未解析的标识符'对象'

1 个答案:

答案 0 :(得分:0)

你没有在那个闭包中返回一个数组,你正在返回一个可选的PFObject。

 let query = PFUser.query()!
query.whereKey("objectId", equalTo: (quote["publisher"] as! String))
query.getFirstObjectInBackgroundWithBlock({ (user: PFObject?, error: NSError?) in
        if error == nil{
        if let foundUser = user as? PFUser {
        cell.publisherLabel.text = foundUser.username

    }
}
})

//更新了

func someFunc() {

    let query = PFUser.query()
    query?.getObjectInBackgroundWithId("objectId", block: { (foundUser: PFObject?, error: NSError?) -> Void in

        if let user = foundUser as? PFUser {

            cell.publisherLabel.text = user.username
        }

    })

}

您不需要查询,只需从您拥有的对象获取指针并调用fetchIfNeeded或在后台或者您想要处理它。示例:

var myObject = existingObjectWithPointer["pointerColumnName"] as? PFObject
myObject.fetchIfNeeded()