Ich verwende FUIInndexTableViewDataSource wie unter https://github.com/firebase/FirebaseUI-iOS/tree/master/FirebaseDatabaseUI erläutert.FirebaseUI: Wie kann während der Verwendung von FUIInndexTableViewDataSource auf das Objekt bei indexPath zugegriffen werden?
Ich möchte einen Detailansicht-Controller anzeigen, wenn ein Element angetippt wird, aber ich weiß nicht, wie Sie die Referenz, den Schlüssel oder die Daten beim Vorbereiten des Segments erhalten.
Mein Code:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "showDetail" {
if let indexPath = self.tableView.indexPathForSelectedRow {
// HELP: How do I access the firebase reference, index, and data from here?
}
}
}
Und in einer setupDatabase() Funktion Ich habe die Datenquelle einrichten.
self.dataSource = self.tableView.bind(
toIndexedQuery: chatKeysRef,
data: chatDataRef,
delegate: self,
populateCell: {
(tableView, indexPath, dataSnapshot) in
let cell = tableView.dequeueReusableCell(withIdentifier: "Chat", for: indexPath);
if (dataSnapshot == nil) {
cell.textLabel?.text = "";
cell.detailTextLabel?.text = "";
return cell;
}
cell.textLabel?.text = "hello world"
if (dataSnapshot!.hasChild("most_recent_message")) {
cell.detailTextLabel?.text = dataSnapshot?.childSnapshot(forPath: "most_recent_message").value as? String;
}
return cell;
});
FUIIndexTableViewDataSource scheint keine öffentlichen Eigenschaften oder Methoden, die mir helfen würde: https://github.com/firebase/FirebaseUI-iOS/blob/master/FirebaseDatabaseUI/FUIIndexTableViewDataSource.h
Die Readme.md macht FUIDataSource Referenz, aber das scheint nicht in FUIIndexTableViewDataSource zu sein.
gelesen werden, die keine Eigenschaft von FUIIndexTableViewDataSource zu sein scheint, nicht wahr? – astromme