UILabels в пользовательском UITableViewCell никогда не инициализируется
У меня возникли проблемы с созданием пользовательских таблиц быстрого просмотра с Xcode6 (бета 4). Точнее, я не могу получить доступ (развернуть) свои пользовательские метки UILabel внутри ячейки, поскольку они никогда не инициализируются.
Вот как у меня все это настроено:
Я сделал представление в раскадровке, которая содержит представление таблицы с ячейкой-прототипом:
Представление подключено к классу MyCoursesTableViewController, а ячейка (с идентификатором courseCell) к CourseTableViewCell. Я вставил оба класса ниже (только с соответствующими битами кода):
MyCoursesTableViewController.swift
import UIKit
class MyCoursesTableViewController: NavToggleTableViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.registerClass(CourseTableViewCell.self, forCellReuseIdentifier: "courseCell")
}
override func numberOfSectionsInTableView(tableView: UITableView!) -> Int {
return 1
}
override func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return 1
}
override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
var cell : CourseTableViewCell = tableView.dequeueReusableCellWithIdentifier("courseCell", forIndexPath: indexPath) as CourseTableViewCell
// cell is not nil
if let titleLabel = cell.titleLabel {
// never gets here
} else {
cell.textLabel.text = "Course Title"
}
return cell
}
}
NavToggleTableViewController
Класс - это просто базовый базовый класс, который я использую для всех контроллеров представления, и он не влияет на результат.
CourseTableViewCell.swift
import UIKit
class CourseTableViewCell: UITableViewCell {
@IBOutlet weak var courseIcon: UIImageView!
@IBOutlet weak var teacherIcon: UIImageView!
@IBOutlet weak var studentsCountIcon: UIImageView!
@IBOutlet weak var titleLabel: UILabel!
@IBOutlet weak var studentsCountLabel: UILabel!
@IBOutlet weak var teacherLabel: UILabel!
init(style: UITableViewCellStyle, reuseIdentifier: String!) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
Ниже показано, как я настроил ячейку на панели утилит (в раскадровке):
Проблема возникает внутри функцииtableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> CourseTableViewCell
когда я хочу получить доступ к UILabels. Если бы я должен был поставить что-то вродеcell.titleLabel.text = "Course Title"
Я получаю следующее сообщение об ошибке:
fatal error: unexpectedly found nil while unwrapping an Optional value
Где я делаю что-то не так? Буду признателен за любую помощь, спасибо!