0
所以我試圖在包括刪除和編輯按鈕的表視圖中創建自定義刷卡。但是,我無法引用要編輯的所選單元格的行。在這種情況下,索引是[x,y],其中x總是爲0,指的是刷機時編輯按鈕的索引,而y是行索引。Swift 3如何引用UITableViewRowAction中的行索引
如何引用行索引,換句話說,在[x,y]中的y。謝謝!因爲當地的參數標籤indexPath
缺少
override func tableView(_ tableView: UITableView,
editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {...
這indexPath
包含所選單元格的部分和行
override func tableView(_ tableView: UITableView, editActionsForRowAt: IndexPath) -> [UITableViewRowAction]? {
let delete = UITableViewRowAction(style: .normal, title: "Delete") { action, index in
self.leaveLeaveType.remove(at: index.row)
self.leaveStartsTime.remove(at: index.row)
self.leaveEndsTime.remove(at: index.row)
self.leaveHost.remove(at: index.row)
self.leaveDest.remove(at: index.row)
tableView.deleteRows(at: [index], with: .fade)
}
let edit = UITableViewRowAction(style: .normal, title: "Edit") { action, index in
//self.performSegue(withIdentifier: "editLeaveRequest", sender: self)
let editCell = self.tableView.cellForRow(at: index)! as! LeaveRequestTableViewCell
self.editLeaveType = editCell.leaveLeaveType.text!
self.editHost = editCell.leaveHost.text!
self.editDest = editCell.leaveDest.text!
let cellDateTime = editCell.leaveDateTime.text!
let startsTimeStartIndex = cellDateTime.index(cellDateTime.startIndex, offsetBy: 0)
let startsTimeEndIndex = cellDateTime.index(cellDateTime.endIndex, offsetBy: -22)
let startsTimeRange = startsTimeStartIndex..<startsTimeEndIndex
self.editStartsTime = cellDateTime[startsTimeRange]
let endsTimeStartIndex = cellDateTime.index(cellDateTime.startIndex, offsetBy: 22)
let endsTimeEndIndex = cellDateTime.index(cellDateTime.endIndex, offsetBy: 0)
let endsTimeRange = endsTimeStartIndex..<endsTimeEndIndex
self.editEndsTime = cellDateTime[endsTimeRange]
}
delete.backgroundColor = .red
edit.backgroundColor = .lightGray
return [delete, edit]
}
感謝您的幫助......但是當我滑動並嘗試打印indexPath時,仍然顯示[x,y],如[0,0]或[0,1],0, 1是行。另外,由於我有一個刪除和一個編輯按鈕,我發現它們在按下時都會產生相同的[x,y],那麼[x,y]索引中的x代表什麼? –
oh..it指的是返回[刪除,編輯] –
索引路徑的格式是[[section,row]' – vadian