Mein zufälliger Versuch ruft cellForRowAtIndexPath
nicht an. Ich nehme an, mein Setup stimmt nicht.Was ist der beste Weg, um ein UITableView in einer UITableView-Zelle zu laden?
Wenn ich dies ausführen, wird meine ViewDidLoad() aufgerufen. Aber nichts lädt wirklich. Wenn ich die Debug-Ansichtshierarchie betrachte, kann ich sehen, dass nichts hinzugefügt wurde. Ich nehme also an, dass mir etwas an der Instanziierung dieses TableView fehlt.
Als Referenz ist dies meine UITableView. Aber um ehrlich zu sein, ich bin völlig ratlos darüber, was genau ein UITableView benötigt, um instanziiert zu werden. Und dies würde mein bester Versuch sein:
class WordTableView: UITableView {
var words = [Word]()
func viewDidLoad() {
self.registerNib(UINib(nibName: "WordCell", bundle: nil), forCellReuseIdentifier: "wordCell")
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return words.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("WordCell", forIndexPath: indexPath) as! WordCell
let word = words[indexPath.row]
cell.sanskrit.text = "Sanskrit" //word.valueForKey("sanskrit")
cell.definition.text = "Definition" // word.valueForKey("definition")
return cell
}
}
Frage - warum sind Sie in den Zellen einer anderen Tabellenansicht eine Tabellenansicht setzen? Wäre es nicht einfacher, die Haupttabelle zu trennen? Und es ist wirklich verwirrend, eine Methode mit dem Namen 'viewDidLoad' in eine Nicht-View-Controller-Klasse einzufügen. – rmaddy
@rmaddy Yah, danke für die Nachfrage. Es ist eine dynamische geordnete Liste, die ich aufzudecken versuche. Also zuvor habe ich versucht, es mit UILabels und UIViews zu machen, aber weil es alles dynamisch und meistens programmatisch ist, wurde es zur Hölle für mein newb self, ich dachte .. warum nicht einfach ein xib machen, und ein UITableView um a anzuzeigen Liste. Was denken Sie? – Trip
Wenn ich Sie wäre, würde ich einfach mehr Zeilen und/oder Abschnitte zur Haupttabelle hinzufügen. Geschachtelte Tabellenansichten können alle Arten von Problemen mit Scroll- und Berührungsereignissen verursachen. – rmaddy