【发布时间】:2016-08-10 17:32:41
【问题描述】:
我创建了一个自定义单元类,它从 firebase 获取数据。一切正常,但是当添加新数据时,会显示在底部而不是顶部。在我提到的将新项目插入索引路径 0 的代码中。代码仍然无法正常工作
这是代码..
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate {
@IBOutlet weak var save: UIButton!
@IBOutlet weak var table: UITableView!
var firebase = Firebase(url: "https://meanwhile.firebaseio.com")
var messages = [String]()
var uid:String = ""
override func viewDidLoad() {
super.viewDidLoad()
var localArray = [String]()
firebase.observeEventType(.ChildAdded, withBlock: { snapshot in
//print(snapshot.value)
let msgText = snapshot.value.objectForKey("text") as! String
localArray.insert(msgText, atIndex: 0)
self.messages = localArray
self.table.reloadData()
}
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return messages.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.table.dequeueReusableCellWithIdentifier("Vish", forIndexPath: indexPath) as! CustomTableViewCell
let fdata = self.messages[indexPath.item]
cell.data.text = fdata as? String
return cell
}
}
【问题讨论】:
-
是否有理由将 msg 插入 localArray,然后将该数组分配给 messages 数组?哦,还有,在你的 numberOfRowsInSection 中,返回 self.messages.count 而不是 messages.count。
标签: ios swift uitableview firebase