Я хочу повторно использовать UITableViewCell
в своем приложении, но я получаю эту ошибку: неожиданно обнаружен ноль при неявном развертывании необязательного значения.
Я считаю, что это связано с тем, что пользовательский интерфейс в UITableViewCell
равен нулю, поэтому мое приложение упало.
Мой UITableViewCell
код выглядит так:
class WordListCell: UITableViewCell {
@IBOutlet weak var wordListCoverImage: UIImageView!
@IBOutlet weak var wordListName: UILabel!
@IBOutlet weak var wordListInfo: UILabel!
var wordList: WordList? {
didSet {
updateUI()
}
}
private func updateUI() {
wordListName.text = wordList?.name
wordListInfo.text = wordList?.description
wordListCoverImage = UIImage()
}
}
Я создаю его в storyboard
и связываю outlet
с кодом в другом TableView
.
Но на этот раз я хочу повторно использовать ячейку в новом TableView
, который все создан кодом, поэтому я не знаю, как инициализировать вещи пользовательского интерфейса.
Новый UITableView
код выглядит так:
tableView.delegate = self
tableView.dataSource = self
tableView.register(WordListCell.self, forCellReuseIdentifier: "wordListCell")
//the delegate
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return wordLists.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let wordList = wordLists[indexPath.row]
let cell = tableView.dequeueReusableCell(withIdentifier: "wordListCell", for: indexPath)
if let wordListCell = cell as? WordListCell {
wordListCell.wordList = wordList
}
return cell
}
Подскажите, пожалуйста, как повторно использовать ячейку. Спасибо!