我试图在UITableView的单元格中显示一些内容。这个程序确实到达了cellForRowAtIndexPath:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: EventTableViewCell = self.tableView.dequeueReusableCellWithIdentifier("eventCell") as! EventTableViewCell
let date = self.eventArray[indexPath.row].startTime
let calendar = NSCalendar.currentCalendar()
let minutes = calendar.component(NSCalendarUnit.Minute, fromDate: date)
var minutesString: String
if (minutes == 0) {
minutesString = "00"
} else {
minutesString = String(calendar.component(NSCalendarUnit.Minute, fromDate: date))
}
let hours = calendar.component(NSCalendarUnit.Hour, fromDate: date)
//this next line of code works, i see cell text:
// cell.textLabel?.text = self.eventArray[indexPath.row].title + " - \(hours):\(minutesString)"
//these lines do not work, see empty cells:
cell.cellLable?.text = self.eventArray[indexPath.row].title + " - \(hours):\(minutesString)"
cell.textField?.text = self.eventArray[indexPath.row].notes
return cell
}我已经正确地连接了插座:

如果设置断点,则单元格似乎是EventTableViewCell,但cellLabel和textField均为零:

我的表视图连接如下所示:

eventCell的连接检查器如下:

我也使内容视图背景颜色为蓝色,但似乎我没有在我的单元格中看到整个内容视图。
我的自定义单元格类如下所示:

发布于 2015-11-02 15:45:23
检查IB中的单元格是否有正确的标识符。让细胞..。正在返回零,这似乎是你的问题。
let cell: EventTableViewCell = self.tableView.dequeueReusableCellWithIdentifier("eventCell") as! EventTableViewCell 发布于 2015-11-03 09:01:18
cell.textLabel可以工作,因为您继承了UITabelViewCell类。您将获得一个UITabelViewCell作为引用--这是允许的。
在范围内创建对您的标签的强引用。放置一个断点,并验证您作为单元格实际得到的内容。(确实是正确的子类或泛型的东西。)
如果单元格对象是正确的,但没有得到标签,则必须与出口相关。在某些情况下,在Swift中,我发现需要将UIElement的出口从弱更改为强。
如果是,则只保留标签的属性作为原因。给标签一个背景色。它的布局实际上是可见的?(例如:隐藏=不,alpha = 1,框架/约束使其可见,等等)。
https://stackoverflow.com/questions/33478194
复制相似问题