ich eine UITableView
erstellt und dies ist mein Code dafür:Benutzerdefinierte UITableViewCell mit null 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
}
Und meine SubjectCell
Klasse ist die folgende:
import Foundation
import UIKit
class SubjectCell : UITableViewCell{
@IBOutlet var cellUIImage: UIImageView!
}
Allerdings, wenn ich diesen Code ausführen, es stürzt ab. Debugging, bemerkte ich, dass cellUIImage ist Null, so dass es abstürzt, wenn es es auspackt. Die IBOulet
ist mit meiner Prototypzelle verbunden.
Das Abwickeln Sache wird von Xcode gemacht, und es sollte nicht Null sein, weil es ist eigentlich eine Zelle UIImageView
.
Warum entpacken Sie die Zelle nicht ordnungsgemäß aus der Tabellenansicht? – rmaddy
@rpaddy kein Grund besonders. Dies ist ein wirklich primitiver Code, ich schneiere ihn normalerweise danach ... aber ich falle das ist nicht der Grund warum er zusammenbricht. –
Es ist genau der Grund, warum es versagt. Dein Code erstellt keine Zelle aus deinem XIB/Storyboard. Sie erstellen Ihre Zelle nur aus Code. Daher ist keiner der Ausgänge der Zelle eingerichtet. Erstellen Sie Ihre Zelle richtig. Registrieren Sie die Zellklasse/-feder ordnungsgemäß und es wird wie erwartet funktionieren. – rmaddy