更改订单新的tableview项目进来

时间:2018-03-13 19:49:44

标签: swift tableview cell

我试图找到一种简单的方法来改变我的tableview的顺序。我希望它像正常情况一样从顶部开始,但如果新细胞出现,最新的细胞就在顶部。我在这里找到了很多关于翻转桌子从底部开始而不是我需要的方式的信息。任何帮助都会非常棒,谢谢。 Photo Example

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return expenses.count
}

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

    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! expenseTableViewCell

    let expense = expenses[indexPath.row]

    cell.expenseName.text = expense.ename
    cell.expenseCost.text = "$" + expense.ecost!
    cell.expenseDue.text = expense.edue`

    return cell
}

2 个答案:

答案 0 :(得分:0)

只需在数据模型数组中的第0位插入新项即可。

items.insert(item, at: 0)
tableView.reloadData()

答案 1 :(得分:0)

表视图单元格按照您放入的顺序排列。您的表视图数据源将有一个名为tableView(_:cellForRowAt:)的方法。第二个参数是IndexPath,它告诉您哪一行需要一个单元格。因此,您可以通过查看索引路径并确定应在该位置显示哪些数据来确定订单。如果您希望某些内容位于表的顶部,请检查索引路径,其中行和节等于零。

你应该有某种数据模型,可能像数组一样简单。如果在索引零处的数组中添加新条目,则表视图数据源代码可能会处理其余内容。如果不能解决问题,请编辑您的问题,以添加有关代码当前工作方式的更多详细信息。