当数据库中有密钥时,解析对象崩溃

时间:2016-03-16 10:41:21

标签: swift parse-platform

所以我正在尝试更改聊天中所有行的背景颜色,即用户自己写的。我这样做是通过检查来自用户的facebookID是否与来自数据库的消息上的facebookID匹配。

但由于某些原因,我的Messages数据库上的.valueForKey一直崩溃。

var myUser:PFUser = PFUser.currentUser()!
var queryId = PFQuery(className: "Messages")

 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = self.messageTableView.dequeueReusableCellWithIdentifier("messageCell") as! ChatTableViewCell
    cell.textLabel?.text = messagesArray[indexPath.row]

    let getUser = myUser.valueForKey("facebookID")
    print(getUser)

    let getIDUser = queryId.valueForKey("facebookID")
    print(getIDUser)

    //if getUser == getIDUser {
        // make cell red
    //}
    return cell
}

这会在getIDUser

的控制台中返回以下内容
reason: '[<PFQuery 0x133dadf10> valueForUndefinedKey:]: this class is not key value coding-compliant for the key facebookID.'

因此getIDUser会返回错误,但我不知道为什么数据库和密钥确实存在。 enter image description here

1 个答案:

答案 0 :(得分:0)

问题是这个

var messageDB:PFObject = PFObject(className:"Messages")

只创建新的消息对象。你确实可以将它添加到数据库中。

但要从商店获取对象,您必须执行查询。 Here are more info.