Я создал UITableView
, и это мой код для него:пользовательских UITableViewCell с нулевым UIImageView
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
// let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "SubjectCell")
let cell = SubjectCell(style: UITableViewCellStyle.default, reuseIdentifier: "SubjectCell")
cell.cellUIImage.image = UIImage(named: "menu.png")
// cell.cellUIImage = UIImageView(UIImage(named: "menu-32.png"))
if indexPath.row % 2 == 0{
cell.backgroundColor = UIColor.cyan
}
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
И мой SubjectCell
класс следующее:
import Foundation
import UIKit
class SubjectCell : UITableViewCell{
@IBOutlet var cellUIImage: UIImageView!
}
Однако, когда я запускаю этот код, он падает. Отладка, я заметил, что cellUIImage равен нулю, поэтому он падает, когда он его распаковывает. IBOulet
связан с моей ячейкой прототипа.
разворачивание вещь сделана Xcode, и он не должен быть нулевым, потому что это на самом деле клетка UIImageView
.
Почему вы не выбрали ячейку из таблицы? – rmaddy
@rmaddy нет причины в частности. Это действительно примитивный код, я обычно адаптирую его впоследствии ... однако, я упал, это не причина, почему он рушится. –
Именно по этой причине он терпит неудачу. Ваш код не создает ячейку из xib/раскадровки. Вы создаете свою ячейку только из кода. Поэтому ни один из выходов ячейки не настроен. Правильно создайте свою ячейку. Правильно зарегистрируйте класс/nib ячейки, и он будет работать, как ожидалось. – rmaddy