gpt4 book ai didi

swift - 添加、更新或删除新日期时 Firebase 复制 tableView

转载 作者:行者123 更新时间:2023-11-28 08:20:26 25 4
gpt4 key购买 nike

每当我向 Firebase 添加新数据或更新 Firebase 控制台中的数据时,我的 tableView 数据都会重复。我遵循的 udemy 教程从未展示过如何解决该问题。 Google search提出了我的问题,但似乎无法解释问题的根源;我追寻问题的根源,而不仅仅是一个答案。我一边学习一边学习,但这让我很烦恼。

一个答案提到了 self.members.removeAll() 的使用,但我使用的是 Swift 3,将它放在哪里以及为什么?

我的问题与 this 有关但这个答案似乎含糊不清,并不是真正的答案。我有一个 configureCell() 但应该添加什么?

当有人解释并添加答案时,我对我的大部分问题的答案投了赞成票。请问这是怎么回事,为什么?我是否需要重新加载/删除某些内容:

if let cell = tableView.dequeueReusableCellWithIdentifier("PostCell") as? PostCell{...}

已编辑:

var expenses = [Expense]()

func numberOfSections(in tableView: UITableView) -> Int {
return 1
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return expenses.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let expense = expenses[indexPath.row]

if let cell = tableView.dequeueReusableCell(withIdentifier: "expenseFeedCell") as? ExpenseFeedCell {
cell.selectionStyle = .none
cell.configureCell(expense: expense)
return cell
} else {
return ExpenseFeedCell()
}

}

和费用类别:

class Expense {

// Private variables
private var _date: Double!
private var _type: String!
private var _amount: Double!
private var _notes: String!
private var _expenseId: String!


// Setting up the getteres
var type: String {
return _type
}

var date: Double {
return _date
}

var amount: Double {
return _amount
}

var notes: String {
return _notes
}

var expenseId: String {
return _expenseId
}

init(type: String, date: Double, amount: Double, notes: String) {
self._type = type
self._date = date
self._amount = amount
self._notes = notes
}

init(expenseId: String, expenseData: [String: AnyObject]) {
self._expenseId = expenseId

if let type = expenseData["type"] as? String {
self._type = type
}

if let date = expenseData["date"] as? Double {
self._date = date
}

if let amount = expenseData["amount"] as? Double {
self._amount = amount
}

if let notes = expenseData["notes"] as? String {
self._notes = notes
}

}
}

最佳答案

如果每次有新条目时调用用于读取数据的 firebase 方法,则应在向其添加数据之前删除数据数组的内容。

所以在 firebase 方法中,首先要有一个空数组。之后,您可以处理快照并填充同一个数组。

添加一个 self.tableView.reloadData() 以使用此数组中的新数据重新加载 View

关于swift - 添加、更新或删除新日期时 Firebase 复制 tableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41485352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com