2017-07-03 110 views
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] 
} 

回答

0

的代碼不能工作。

+0

感謝您的幫助......但是當我滑動並嘗試打印indexPath時,仍然顯示[x,y],如[0,0]或[0,1],0, 1是行。另外,由於我有一個刪除和一個編輯按鈕,我發現它們在按下時都會產生相同的[x,y],那麼[x,y]索引中的x代表什麼? –

+0

oh..it指的是返回[刪除,編輯] –

+0

索引路徑的格式是[[section,row]' – vadian