Ios tableview swift的自定义对象

Ios tableview swift的自定义对象,ios,uitableview,swift2,Ios,Uitableview,Swift2,我正在将自定义类对象绑定到表视图,但它没有显示任何内容 class car{ var carName:String = "" var carModel:String = "" var carPic:String = "" } 在我的控制器中 var cars = [car](); 在viewdidload()中用coredata填充对象 我能够在控制台中正确地看到carName,但是当我查看视图时,它没有显示任何内容,它是空的,但是我能够对选择行事件执行所有操作 我认为这可能是由于限制

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

class car{
 var carName:String = ""
 var carModel:String = ""
 var carPic:String = ""
}
在我的控制器中

var cars = [car]();
在viewdidload()中用coredata填充对象

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


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

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

您的声明
print(carName)
未访问您的
汽车阵列

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

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

cell.carNameLabel.text = carName
应该为标签添加正确的值

但是,基于您显示的代码,我认为它不正确,因为我无法看到
carName
来自
cars
数组中的数据

你也应该展示一些类似的东西

class SearchTableViewCell: UITableViewCell {
    @IBOutlet var carNameLabel: UILabel!
}
这样我们就可以确保标签存在


另外,作为命名的提示,类名应该以大写字母开头。这是苹果和大多数iOS开发人员的惯例。

看来需要SearchTableVIewCell的内容才能知道为什么这不起作用。你能添加它吗?告诉我们你是如何建立汽车表的。也就是说,如果响应网络请求,在填充完数组后是否调用
tableView.reloadData()
?此外,顺便说一句,您通常希望遵循Cocoa命名约定,并以大写字母开头类名(例如,
Car
);i<10;i++{var car=car();car.carName=“Name”+String(i)car.carModel=“Testing”self.cars.append(car);}self.tableView.reloadData();即使以这种方式绑定,也无法在UI上看到任何内容。是否设置了tableView的
数据源
委托
?您可以在IB中或以编程方式执行此操作。确保您的
UITableViewDataSource
方法被调用。另外,请确保您的
numberofrowsinssection
正在返回
cars.count
。很抱歉,打印行时,我的操作与您编写的相同。carName正在调试器中打印当前名称,但仍然无法在我的表视图中看到任何内容。如果您硬编码一个字符串,如
cell.carNameLabel.text=“某个汽车名称”
?这将决定您的标签是否可以显示文本。
class SearchTableViewCell: UITableViewCell {
    @IBOutlet var carNameLabel: UILabel!
}