我正在尝试从Firebase中加载UITableView中的数据。我正在加载的结构是:
user: {
"simplelogin:12": 1,
"simplelogin:13": 1,
"simplelogin:15": 1,
"simplelogin:17": 1
}
我想第一次加载这些数据,当加载视图时(或者当我被要求按原样出现时),我想“监听”并仅将所有新的子数据添加到UITableView的。 但是,我的数据加载了两次。我怎么能这样做?
目前,我的ViewController的主要部分是:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.tableView.delegate = self
self.tableView.dataSource = self
// Load user
loadFirebaseUser()
}
func loadFavoriteUser() {
let firebaseRef = Firebase("http://...")
// Add Observer on Child Added
firebaseRef.observeEventType(.ChildAdded, withBlock: { userSnapshot in
println("added \(userSnapshot.key)")
})
// Initialization
firebaseRef.observeSingleEventOfType(.Value, withBlock: { userSnapshot in
println("value \(userSnapshot.value)")
self.tableView.reloadData()
})
}
输出
added simplelogin:12
added simplelogin:13
added simplelogin:15
added simplelogin:17
value {
"simplelogin:12" = 1;
"simplelogin:13" = 1;
"simplelogin:15" = 1;
"simplelogin:17" = 1;
}
非常感谢你的帮助
答案 0 :(得分:0)
func loadFavoriteUser() {
let firebaseRef = Firebase("http://...")
// Add Observer on Child Added
firebaseRef.observeEventType(.ChildAdded, withBlock: { userSnapshot in
println("added \(userSnapshot.key)")
self.tableView.reloadData()
})
}