2015-09-11 95 views
3

我正試圖在UITableViewCell中創建「滑動刪除」。我嘗試下面的代碼:滑動即可刪除UITableViewCell

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) 
{ 

} 

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? 
{ 
    var delete = UITableViewRowAction(style: .Normal, title: "Delete", handler: { (action:UITableViewRowAction!, indexPath: NSIndexPath!) -> Void in 
     self.tableView.deleteRowsAtIndexPaths(indexPath, withRowAnimation: .Automatic) // Error 
    }) 
} 

但我得到以下錯誤在創建delete rowAction

Could not find member 'Normal'

我在做什麼錯了行了,我怎麼能解決這個問題?

更新1

我試圖UITableViewRowActionStyle.Normal作爲@rmaddy指出。

而且得到了以下錯誤:

Cannot find an initializer for type 'UITableViewRowAction' that accepts an argument list of type '(style: UITableViewRowActionStyle, title: String, handler: (UITableViewRowAction!, NSIndexPath!) -> Void)' 

我有這樣的delete var後,並沒有給我一個錯誤。它工作正常:

var action = UITableViewRowAction(style: .Normal, title: "action", handler: { (action:UITableViewRowAction!, indexPath: NSIndexPath!) -> Void in 
     println("Action") 
}) 

更新2

剛剛意識到這個問題。當我插入以下操作:

self.tableView.deleteRowsAtIndexPaths(indexPath, withRowAnimation: .Automatic) 

我得到錯誤。當我刪除該行時,錯誤消失。

+1

嘗試'的陣列。 – rmaddy

+1

我更新了questin – Jessica

+1

嘗試將'delete'變量重命名爲'del'或其他內容(並返回到'.Normal'。 – rmaddy

回答

1

變化這

self.tableView.deleteRowsAtIndexPaths(indexPath, withRowAnimation: .Automatic) 

TO 因爲該方法需要indexPath UITableViewRowActionStyle.Normal`的

self.tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic) 
+2

請再次閱讀該問題。 OP有這種方法,與錯誤無關。 – rmaddy

+1

但他想刷卡和刪除單元格@rmaddy – Lamar

+2

問題是關於編譯器錯誤,而不是'commitEditingStyle:'方法的實現。 – rmaddy