Ich bin neu in Swift und iOS und habe eine Situation, wo ich eine Reihe von URL-Strings nehmen und eine ImageView innerhalb einer UITableViewCell füllen möchte, die ich habe eine geeignete Klasse für, namens MyTableViewCell.Wie man ImageView in einer UITableViewCell mit SDWebImage in Swift 3 richtig einstellt
Es abstürzt und ich den Fehler bekommen:
"fatal error: unexpectedly found nil while unwrapping an Optional value"
Was ich in der viewDidLoad(), wenn die Linie passiert imageTableView.datasource = self
Läufe sehen.
Ich gründe die Daten und Delegierter in der Ansicht als so:
override func viewDidLoad() {
super.viewDidLoad()
imagesTableView.dataSource = self
imagesTableView.delegate = self
}
Unten imageUrls
ein Array von Strings ist.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: MyTableViewCell = tableView.dequeueReusableCell(withIdentifier: "myTableViewCell", for: indexPath) as! MyTableViewCell
cell.imageView.sd_setImage(with: URL(string: imageUrls[indexPath.row]))
return cell
}
ich einen Ausgang auf die Zelle haben wie so in der Klasse:
@IBOutlet var imagesTableView: UITableView!
Meine Frage ist, was der richtige Weg ist dieses 3 und SDWebImage mit schnellen zu tun, und warum/wo der Nullwert von der imagesTableView auftritt?
Es ist vielleicht erwähnenswert, dass ich auch versucht habe, einige String-URL-Werte in die imageUrls zu codieren, um sicherzustellen, dass das nicht das Problem war (ich bekomme den gleichen Fehler mit hartcodierten Werten).
Wie erstellen Sie den View-Controller? Wenn Sie es nicht über das Storyboard erstellen, werden die Ausgänge nicht festgelegt. Auch Variablen und Eigenschaften sollten per Konvention mit einem Kleinbuchstaben beginnen. – Paulw11
@ Paulw11 danke für den Tip der Namenskonvention, nur einige davon oben behoben. Ich erstelle den View-Controller aus dem Storyboard. Wenn ich den Tabellenansichtscode entferne, wird der Rest der Ansicht ohne Fehler geladen – jeanmw
Haben Sie die Steckdose angeschlossen? – Paulw11