自定义 UITableViewCell 的第一个单元格为空

First cell of custom UITableViewCell is blank

我正在查询解析以获取一些信息并在 UITableViewCell 中显示信息,table 中只有一个条目,这是一个包含虚构信息的测试条目,但 table 显示的是第一个单元格空白,然后是包含 table 中信息的第二个单元格。我已尝试 google 并添加更多行测试信息,但无论哪种方式 table 都在开头显示一个单元格,但没有任何信息 这是我的代码:

var query = PFQuery(className: "marathons")
    query.orderByAscending("end")
    query.findObjectsInBackgroundWithBlock { (marathons, error:NSError?) -> Void in
        if(error == nil ){
        //success

            for marathon in marathons! {
            self.Name.append(marathon["Name"] as! String)
            self.entryNumber.append(marathon["Number"] as! Int)
            self.totalEntries.append(marathon["entries"] as! Int)
            self.runnerDistance.append(marathon["distance"] as! Int)


            }
           self.TableView.reloadData()

        }else {
        print(error)

        }
    }



}



override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


//MARK: TableView
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return Name.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let singleCell: TableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! TableViewCell


    singleCell.Name.text = names[indexPath.row]
    singleCell.entryNumber.text = "\(entryNumbers[indexPath.row])"
    singleCell.totalEntries.text = "\(entires[indexPath.row])"
    singleCell.runnerDistance.text = "\(distance[indexPath.row])"



    return singleCell


}

名称、条目数、总条目数和跑步者距离定义为:

@IBOutlet var Name: UILabel!

@IBOutlet var entryNumber: UILabel!

@IBOutlet var totalEntries: UILabel!

@IBOutlet var runnerDistance: UILabel!

有什么建议吗?我正在使用 swift,解析为我的后端,并且 XCODE 7

您的代码中定义的模型对象在哪里?您正在附加到名为 NameentryNumbertotalEntriesrunnerDistance 的对象,但您正在尝试从名为 entryNumbers entriesdistance.

编辑: 我明白这是怎么回事了。根据您的评论,您正在像这样初始化数组: var names = [String()] 这实际上创建了一个数组,其中包含一个空字符串 [""]。当您调用 append 时,您正在向数组添加另一个元素,这使您最终得到 ["","John"]。如果你想要一个空数组,你应该像这样创建它: var names = [String]()