自定义对象到tableview swift

时间:2015-11-08 03:45:25

标签: ios uitableview swift2

我将自定义类对象绑定到表视图,但它没有显示任何内容

class car{
 var carName:String = ""
 var carModel:String = ""
 var carPic:String = ""
}

在我的控制器中

var cars = [car]();

使用viewdidload()

中的coredata填充对象
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! SearchTableViewCell;
                let row = cars[indexPath.row];
        print(carName)

        cell.carNameLabel.text = row.carName
        return cell;
    }

我能够正确地在控制台中看到carName,但是当我查看视图时,它显示我的空白,但我能够在选择行事件上执行所有操作。

我认为这可能是由于约束,但如果我将这个表视图绑定到某个数组,它会在UI上显示正确的数据。

1 个答案:

答案 0 :(得分:0)

您在控制台上打印的内容似乎不正确。

您的陈述print(carName)未访问您的cars数组。

尝试添加print(row.carName)来调试您的问题。

如果您在控制台中获得了正确的输出,那么这意味着

cell.carNameLabel.text = carName

应该为您的标签添加正确的值。

但是,根据您显示的代码,我似乎不正确,因为我无法看到carName来自cars数组中的数据。

您还应该显示类似

的内容
class SearchTableViewCell: UITableViewCell {
    @IBOutlet var carNameLabel: UILabel!
}

在您的代码中,以便我们可以确定标签存在。

此外,作为关于命名的提示,类名应以大写字母开头。这是Apple和大多数iOS开发人员的惯例。