Я изучаю основные представления таблиц в Swift и сталкиваюсь с проблемой при попытке использовать tableView.dequeueResuableCellWithIdentifier.Почему я получаю ошибку времени выполнения с помощью tableView.dequeueReusableCellWithIdentifier
Я работал над созданием нового UITableViewCell при каждом вызове этого метода (например, var cell = UITableViewCell()), но я знаю, что это очень неэффективно и не рекомендуется. Теперь, с приведенным ниже кодом, я получаю ошибку времени выполнения в 'var cell = tableView.dequeueReusableCellWithIdentifier («cell», forIndexPath: indexPath) как! UITableViewCell.
Я указал одну ячейку Prototype и дал ей идентификатор повторного использования 'cell'.
class ViewController: UIViewController, UITableViewDataSource {
let devCourses = [
("iOS App Dev with Swift Essential Training","Simon Allardice"),
("iOS 8 SDK New Features","Lee Brimelow"),
("Data Visualization with D3.js","Ray Villalobos"),
("Swift Essential Training","Simon Allardice"),
("Up and Running with AngularJS","Ray Villalobos"),
("MySQL Essential Training","Bill Weinman"),
("Building Adaptive Android Apps with Fragments","David Gassner"),
("Advanced Unity 3D Game Programming","Michael House"),
("Up and Running with Ubuntu Desktop Linux","Scott Simpson"),
("Up and Running with C","Dan Gookin") ]
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return devCourses.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell
let (courseTitle, courseAuthor) = devCourses[indexPath.row]
cell.textLabel?.text = courseTitle
return cell
}
Единственный выход, который я получаю (lldb), так что я понятия не имею, в чем проблема. Я использую Xcode 6.3.2.
Спасибо!
Где вы регистрируете идентификатор ячейки с табличным представлением? –
Из раскадровки я выбрал ячейку прототипа в представлении таблицы, а затем в Инспекторе атрибутов я ввел ячейку в поле Идентификатор. – Jim
Вы говорите, что у вас есть ошибка времени выполнения в определенной строке, но единственный вывод, который у вас есть, - lldb. Вы уверены, что не просто установили точку останова в этой строке? – EmilioPelaez