Рассмотрим следующий простой контроллер вида:
class ViewController: UIViewController, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
var items = ["One", "Two", "Three"]
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.registerClass(CustomTableViewCell.self, forCellReuseIdentifier: "customCell")
self.tableView.dataSource = self
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.items.count;
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("customCell") as CustomTableViewCell
cell.titleLabel!.text = self.items[indexPath.row]
return cell
}
}
И пользовательский вид ячейки:
class CustomTableViewCell: UITableViewCell {
@IBOutlet weak var titleLabel: UILabel!
}
Этот код вызывает следующую ошибку.
фатальная ошибка: неожиданно найден ноль при развертывании необязательного значения
titleLabel
- ноль - непонятно почему. Установка свойств по умолчанию для UITableViewCell
(например, textLabel
) работает очень хорошо.
Я использую перо для пользовательской ячейки.
И метки, и табличные представления правильно связаны с их IBOutlet
.
Как ячейка прототипа, так и пользовательское представление пера помечаются как имеющие класс CustomTableViewCell
.
Я новичок в разработке для iOS, я что-то упускаю из виду?