我试图在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
均为零:
我的表格视图连接如下所示:
我还将内容视图背景颜色设置为蓝色,但似乎我在单元格中看不到整个内容视图。
答案 0 :(得分:1)
检查IB中您的单元格是否具有正确的标识符。让cell ...返回nil,这似乎是你的问题。
let cell: EventTableViewCell = self.tableView.dequeueReusableCellWithIdentifier("eventCell") as! EventTableViewCell
答案 1 :(得分:0)
cell.textLabel可以继承UITabelViewCell类。您将获得UITabelViewCell作为参考 - 已授予。
在范围内创建对标签的强引用。 放置断点并验证您实际获得的单元格。 (确实是你的正确子类或通用的。)
如果单元格对象正确,但您没有获得标签,则必须与出口相关。 在Swift的某些情况下,我发现需要将ULElement的OUTLET从弱变为强。
如果是,则仅保留标签的属性作为原因。为标签指定背景颜色。它的布局实际上是可见的吗? (例如:hidden = NO,alpha = 1,frame / constrains使其可见,等等。)