我正在尝试在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
找不到会员'正常'
我做错了什么,我该如何解决?
更新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)
我收到错误。当我删除该行时,错误就会消失。
答案 0 :(得分:1)
更改此
self.tableView.deleteRowsAtIndexPaths(indexPath, withRowAnimation: .Automatic)
TO 因为该方法需要一个indexPath数组
self.tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)