Ich fange gerade mit Swift und xCode an, und derzeit mit UITableView rumzualbern, kann ich nicht einfach 'test' in eine Tabelle schreiben.UITableViewController zeigt nichts als horizontale Linien
Ich habe eine UITableViewController
im Storyboard, spezifiziert eine benutzerdefinierte Klasse für sie (meine rasche Datei unten), gefüllt in ‚ClientCell‘ als Wiederverwendung Kennung der Zelle und der Code ist wie folgt:
class TableViewController: UITableViewController {
@IBOutlet var clientTable: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
clientTable.dataSource = self.dataSource;
clientTable.delegate = self;
}
func numberOfRowsInSection(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("ClientCell", forIndexPath: indexPath) as! CustomTableViewCell
cell.tableLabel.text = "test"
return cell
}
}
Im Storyboard habe ich ein "UILabel" in die Prototyp-Zelle eingefügt und in CustomTableViewCell.swift einen Anschluss für dieses mit dem Namen "tableLabel" erstellt. Ich verwirrt durch all die Nebensächlichkeiten, die ich beachten muss, wenn ich etwas so einfaches wie dieses tue. Wenn ich es benutze, zeigt der Simulator nur eine Tabelle mit vielen horizontalen Linien, aber nirgends heißt es "Test".
Sie schreiben Ihre Tabellenansicht-Datenquellenmethoden innerhalb Ihrer viewDidLoad() - Überschreibung. Es wird niemals funktionieren. Verschieben Sie numberOfRowsInSection und cellForRowAtIndexPath in eine Klassenerweiterung, und deklarieren Sie sie außerhalb anderer Funktionskörper. – Dare
@Dare Mit in eine Klassenerweiterung meinst du kurz vor der viewDidLoad()? – ffritz
Nein, das ist was ich meine. https://github.com/raywenderlich/swift-style-guide#protocol-conformance – Dare