我用数组填充tableView但我似乎无法使用行的对象设置textLabel属性 . 这是相关的代码:

let object = realMatches[indexPath.row]

userName = object["first_name"] as! String

cell.textLabel?.text = userName

return cell

当我尝试设置userName变量(稍后将用于设置cell.textLabel属性)时出现以下错误: unexpectedly found nil while unwrapping an Optional value

我的realMatches数组返回结果,所以我知道数组不是nil . 我认为问题是我的Matches表中没有“名字”属性 . 它位于我的User表中,但我在Matches表中有一个指向相应用户的Pointer值 . 我正在使用Parse作为我的后端 .

我尝试使用冗长的PFQuery来获取对象的first_name但它似乎没有得到任何结果:

var objectUser1 = object["user1"] as! PFUser
            var objectUser2 = object["user2"] as! PFUser

            var userQuery = PFQuery(className: "User")
            userQuery.whereKey("objectId", equalTo: objectUser1.objectId!)

            var userQuery2 = PFQuery(className: "User")
            userQuery2.whereKey("objectId", equalTo: objectUser2.objectId!)

            var query = PFQuery.orQueryWithSubqueries([userQuery, userQuery2])
            query.includeKey("user1")
            query.includeKey("user2")
            query.findObjectsInBackgroundWithBlock{
                (results: [AnyObject]?, error: NSError?) -> Void in

                if error != nil {
                    println(error)
                } else {

                    if results != nil {

                        for result in results!{

                            userName = result["first_name"] as! String
                        }
                    }
                }
            }

关于如何将单元格的textLabel属性正确设置为匹配名的任何想法?

谢谢!

编辑:添加realMatches的数据结构 . 这是我println(realMatches)时的输出:

<Match: 0x7fa03b5a6610, objectId: Fq2OAOeggC, localId: (null)> {
    user1 = "<PFUser: 0x7fa03b75e7b0, objectId: aElMSjGRxM>";
    user2 = "<PFUser: 0x7fa03b7b9310, objectId: lJTRi8el8w>";
}, <Match: 0x7fa03b561d80, objectId: KDJ6hG1V4f, localId: (null)> {
    user1 = "<PFUser: 0x7fa03b7b9ca0, objectId: aElMSjGRxM>";
    user2 = "<PFUser: 0x7fa03b47d670, objectId: w1uKRErtDm>";
}]

这是实际的后端数据结构:

比赛表:
-objectID
-user1(指针)
-user2(指针)

用户表:
-objectID
-名字