ios - 使用 Firebase 数据 Swift、Xcode 7 填充 UITableViewController

标签 ios uitableview firebase

我正在使用 swiftXcode 7 .我对 Swift, Xcode, and Firebase 完全陌生.我想要三个UITableViewController在我的 iOS 应用程序中。前两个TableView controllers将需要动态内容,而第三个 TableView Controller 将需要静态内容。我希望第二个和第三个 TableView Controller 根据前一个 TableView Controller 上按下的内容显示数据。所有数据都来自我的 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: "<my-firebase-app>/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 ,这可能会变得非常复杂。

The FirebaseUI library for iOS handles this pretty easily.
dataSource = FirebaseTableViewDataSource(ref: self.firebaseRef, cellReuseIdentifier: "<YOUR-REUSE-IDENTIFIER>", 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
}

关于ios - 使用 Firebase 数据 Swift、Xcode 7 填充 UITableViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34246602/

相关文章:

iphone - 滚动完成后推送 View Controller

ios - 在 InterfaceOrientation 上的 customCell 内重新定位 UIButtons

firebase - Flutter Firebase Google 登录无法正常工作。选择账户后停止

java - 我无法从我的 Firebase 数据库中恢复数据

reactjs - 即使在签名或登录后也无法访问 protected 路线

ios - NSLayoutAttributeBaseline 和 NSLayoutAttributeBottom 有什么区别?

ios - Xamarin IOS 自定义控件属性不显示

ios - 在 drawRect :(CGRect) 中做动画的方法

ios - UITableViewCell 布局和约束何时最终确定?

iphone - iOS - 如何在加载新 View 后删除以前的 View ?