在我的应用程序中,我的课程定义如下:
class MyTableViewController: UITableViewController {
在里面我想添加滑动所选单元格的功能(取自this回答)
但是当我写到这里时:
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {
let more = UITableViewRowAction(style: .Normal, title: "More") { action, index in
print("more button tapped")
}
more.backgroundColor = UIColor.lightGrayColor()
let favorite = UITableViewRowAction(style: .Normal, title: "Favorite") { action, index in
print("favorite button tapped")
}
favorite.backgroundColor = UIColor.orangeColor()
let share = UITableViewRowAction(style: .Normal, title: "Share") { action, index in
print("share button tapped")
}
share.backgroundColor = UIColor.blueColor()
return [share, favorite, more]
}
我收到错误:
使用Objective-C的方法'tableView(:editActionsForRowAtIndexPath :)' selector'tableView:editActionsForRowAtIndexPath:'与之冲突 来自超类的方法'tableView(:editActionsForRowAtIndexPath :)' 'UITableViewController'具有相同的Objective-C选择器
我尝试添加override
,但它没有帮助 - 导致此错误的原因以及如何解决?
答案 0 :(得分:6)
签名略有不同:返回值应为[UITableViewRowAction]?
而不是[AnyObject]?
:
override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]?
您还需要override
。