FUIIndexTableViewDataSource

FUIIndexTableViewDataSource

我正在使用FUIIndexTableViewDataSource,如https://github.com/firebase/FirebaseUI-iOS/tree/master/FirebaseDatabaseUI中所述。
我想显示一个细节视图控制器时,一个项目被点击,但我不知道如何获得参考,关键或数据时,准备segue。
我的代码:

    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?
            }
        }
    }

在setupDatabase()函数中,我设置了数据源。
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似乎没有任何公共属性或方法可以帮助我:https://github.com/firebase/FirebaseUI-iOS/blob/master/FirebaseDatabaseUI/FUIIndexTableViewDataSource.h
Readme.md引用了FUIDataSource,但它似乎不在FUIIndexTableViewDataSource中。

最佳答案

所选行的数据可以如下读取

let snapshot: DataSnapshot = self.dataSource.items[indexPath.row]

10-08 07:31