我有工作swift
在Xcode 7
.我是全新的Swift, Xcode, and Firebase
.我想UITableViewController
在我的iOS应用程序中有三个s.前两个TableView controllers
需要动态内容,第三个TableView控制器需要静态内容.我希望第二个和第三个TableView控制器根据在前一个TableView控制器上按下的内容显示数据.所有数据都来自我的Firebase.我不知道从哪里开始.请指出我正确的方向!谢谢!
这个问题很广泛,因为它询问如何完成三个不同的任务.
如果你一次只要求一件事,我想你最好能得到答案.
我可以帮助您填充UITableViewController
Firebase.
class MyTableViewController: UITableViewController { // your firebase reference as a property var ref: Firebase! // your data source, you can replace this with your own model if you wish var items = [FDataSnapshot]() override func viewDidLoad() { super.viewDidLoad() // initialize the ref in viewDidLoad ref = Firebase(url: "/items") } override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) // listen for update with the .Value event ref.observeEventType(.Value) { (snapshot: FDataSnapshot!) in var newItems = [FDataSnapshot]() // loop through the children and append them to the new array for item in snapshot.children { newItems.append(item as! FDataSnapshot) } // replace the old array self.items = newItems // reload the UITableView self.tableView.reloadData() } } }
这个技术使用了这个.Value
事件,你也可以使用.ChildAdded
,但是你必须跟踪.ChildChanged
'.ChildRemoved' .ChildMoved
,这会变得相当复杂.
适用于iOS的FirebaseUI库非常容易处理.
dataSource = FirebaseTableViewDataSource(ref: self.firebaseRef, cellReuseIdentifier: "", view: self.tableView) dataSource.populateCellWithBlock { (cell: UITableViewCell, obj: NSObject) -> Void in let snap = obj as! FDataSnapshot // Populate cell as you see fit, like as below cell.textLabel?.text = snap.key as String }