Ich verwende This Example für dynamisch expandierende Zellen. Dieses Beispiel zeigt, wie die Zelle mithilfe eines Datenmodells erweitert wird. aber was ich brauche ist, wenn eine Zelle klickt, holt es die Anzahl der Datensätze, die erweitert werden sollen. Ich habe versucht, wie folgt zu tun. aber ich kann nicht erreichen, was ich wollte. Bitte helfen Sie mir dabei.Erweiterbar UITableView Dynamisch
So füge ich dynamisch Beispieldaten zu meinem Datamodel hinzu.
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
DataModel.sampleDetails = ["Sample 1","sample 2","sample 3"]
//historyTable.beginUpdates()
switch expandedIndex {
case .None:
expandedIndex = NSIndexPath(forRow: indexPath.row + 1, inSection: indexPath.section)
case .Some(let index) where index.row == indexPath.row:
tableView.deselectRowAtIndexPath(indexPath, animated: false)
case .Some(let index) where index.row == indexPath.row + 1:
expandedIndex = nil
tableView.deselectRowAtIndexPath(indexPath, animated: false)
case .Some(let index) where index.row < indexPath.row:
expandedIndex = nil
self.tableView(tableView, didSelectRowAtIndexPath: NSIndexPath(forRow: max(0,indexPath.row - 1), inSection: indexPath.section))
default:
expandedIndex = nil
expandedIndex = NSIndexPath(forRow: indexPath.row + 1, inSection: indexPath.section)
}
//historyTable.endUpdates()
}
dies ist, wie ich die Anzahl der Datensätze für Tableview
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let sample = !(DataModel.sampleDetails.isEmpty) ? DataModel.sampleDetails.count : 0
return expandedIndex != nil ?
viewModel.count() + sample :
viewModel.count()
}
dies wie nur bekommen, wenn ich den Code ändern, arbeitet unter
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let sample = !(DataModel.sampleDetails.isEmpty) ? DataModel.sampleDetails.count : 0
return expandedIndex != nil ?
viewModel.count() + 1 :
viewModel.count()
}
ich weiß nicht, was das Problem ist.
Bitte helfen Sie mir
Was ist der Fehler hast du bekommen? –
@ChaturangaSilva Dies ist, was ich bekomme, wenn ich die Art des Erhaltens ändern NSInternalInconsistencyException ', Grund:' Ungültige Aktualisierung: ungültige Anzahl der Zeilen in Abschnitt 0. Die Anzahl der Zeilen in einem vorhandenen Abschnitt nach dem Update (5) muss gleich der Anzahl der Zeilen in diesem Abschnitt vor der Aktualisierung sein (3), plus oder minus der Anzahl der Zeilen, die aus diesem Abschnitt eingefügt oder gelöscht wurden (1 eingefügt, 0 gelöscht) und plus oder minus der Anzahl der in oder verschobenen Zeilen aus diesem Abschnitt (0 ist eingezogen, 0 ausgezogen). ' – Darshana
@ Darshana hier ist die Antwort, http://Stackoverflow.com/a/31200769/2273094 hoffe, es wird Ihnen helfen ... –