Firebaseからデータを取得するtableviewを実装しています。私のテーブルビューはFirebaseのエントリに動的に依存するセクションに分割され、viewdidloadでデータを取得するとアプリケーションがクラッシュします。Swift + Firebase didFinishLaunchingWithOptionsのデータを事前に読み込みます。
viewdidloadの前にdidFinishLaunchingWithOptionsのFirebaseからデータを取得するにはどうすればよいですか?このテーブルビューは私の最初のView Controllerです。
テーブルビューコントローラでfunc application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
FIRApp.configure()
return true
}
//
class MyTableViewController: UITableViewController {
var ref: FIRDatabaseReference!
private var _refHandle: FIRDatabaseHandle!
var mileageDatabase: [FIRDataSnapshot]! = []
var dates: [(String)] = []
override func viewDidLoad() {
super.viewDidLoad()
print("View did load \(self.dates)")
configureDatabase()
self.tableView = UITableView(frame: self.tableView.frame, style: .Grouped)
}
func configureDatabase() {
ref = FIRDatabase.database().reference()
_refHandle = self.ref.child("mileage").observeEventType(.ChildAdded, withBlock: { (snapshot) in
self.mileageDatabase.append(snapshot)
self.tableView.insertRowsAtIndexPaths([NSIndexPath(forRow: self.mileageDatabase.count - 1, inSection: 0)].reverse(), withRowAnimation: .Automatic)
})
self.ref.child("mileage").queryOrderedByChild("date").observeEventType(.ChildAdded, withBlock: { (snapshot) in
print(snapshot.value?["date"])
self.dates.append(snapshot.value?["date"] as! String)
// Here I will do some magic to sort out unique dates
})
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return self.dates.count
}
の時点で、あなたのデータを持っています
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
に次のコードを移動する必要があり、あなたがロードの道を貼り付けることができますあなたのデータはここにありますか? – renjithr