删除其中包含IBOutlets的UITableViewCell

时间:2017-08-28 07:14:27

标签: ios uitableview swift3 xcode8

应该很简单,但我忘记了。我是否需要在delete方法和cellForRowAt中将单元格出列?

Heres the Cell:

class Row : UITableViewCell {
@IBOutlet weak var name: UILabel!
@IBOutlet weak var rating: UILabel!
@IBOutlet weak var address: UILabel!
@IBOutlet weak var status: UILabel!

}

继承删除方法:

 override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
    print(indexPath.row)

    if (editingStyle == .delete) {

        tableView.deleteRows(at: [indexPath], with: .automatic)
    }
}

如何添加要删除的变量?我知道我不能简单地输入例如:

name.remove(at: indexPath ) <-- or something like that. whats the cleanest method? Thanks 

1 个答案:

答案 0 :(得分:0)

如果您的意思是获取您删除的行。

let cell = tableView.cellForRow(at: IndexPath)

使用此 BEFORE 删除该行。

在删除行之前,必须从数据源中删除数据。在这种情况下,您需要dataArray.remove(at: indexPath.row)