Swift 3 错误“无法调用非函数类型 'UITableView!' 的值” [关闭]
Posted
技术标签:
【中文标题】Swift 3 错误“无法调用非函数类型 \'UITableView!\' 的值” [关闭]【英文标题】:Swift 3 error "Cannot call value of non-function type 'UITableView!'" [closed]Swift 3 错误“无法调用非函数类型 'UITableView!' 的值” [关闭] 【发布时间】:2016-06-23 18:59:24 【问题描述】:我正在尝试调用超类的方法 tableView(_:editActionsForRowAt:indexPath:)
,但我得到“无法调用非函数类型 'UITableView!' 的值”
class TextTableViewController: UITableViewController
override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]?
super.tableView(UITableView, editActionsForRowAt: IndexPath)
let EditAction = UITableViewRowAction(style: .normal, title: "Edit") (UITableViewRowAction, IndexPath) in
...
return [EditAction]
【问题讨论】:
"对不起我的英语,我是意大利人" 你的英语很好。你说得不对是斯威夫特。 【参考方案1】:override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]?
super.tableView(UITableView, editActionsForRowAt: IndexPath)
当你调用一个函数时,你传递的不是一个类型,而是一个该类型的值:
override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]?
super.tableView(tableView, editActionsForRowAt: indexPath)
【讨论】:
【参考方案2】:您正在调用使用类名 (UITableView
) 作为变量的方法,而不是变量本身 (tableView
)。试试这个:
super.tableView(tableView, editActionsForRowAt: indexPath)
【讨论】:
【参考方案3】:你为超级函数使用了错误的名字,使用这个:
override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]?
super.tableView(tableView, editActionsForRowAtIndexPath: indexPath)
let EditAction = UITableViewRowAction(style: .Normal, title: "Edit") (UITableViewRowAction, IndexPath) in
// ...
return [EditAction]
【讨论】:
在 Swift 3 中名称不同。这是 Swift 3。以上是关于Swift 3 错误“无法调用非函数类型 'UITableView!' 的值” [关闭]的主要内容,如果未能解决你的问题,请参考以下文章