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!' 的值” [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Pod 安装错误后,Swift 3 结果出现编译错误

将 swift 2.3 转换为 swift 3 错误

swift swift中的错误处理3

Swift 2.3 到 Swift 3.1 迁移 - Alamofire 请求错误

解析错误处理 swift 3

Swift 3 上的 NSLocalizedString 运行时错误