【问题标题】:Invalid redeclaration of UITableViewDataSource method?UITableViewDataSource 方法的重新声明无效?
【发布时间】:2014-12-14 22:20:35
【问题描述】:

我正在尝试实现 UITableViewDataSource 所需的方法,但出现了一个奇怪的错误:

“'tableview(_:cellForRowAtIndexPath:)'的无效重新声明”

但是我不确定问题是什么。这是两行相关的代码,类的声明和符合协议/超类:

class SubjectFormViewController: UIViewController,UITableViewDelegate,UITableViewDataSource

以及触发错误的函数声明:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) ->  UITableViewCell

【问题讨论】:

标签: cocoa-touch swift


【解决方案1】:

你在课堂上有两次这个功能。搜索并删除其中一个。

【讨论】:

  • 我怎么错过了?!
  • 仅供参考,因为它刚刚发生在我身上。也可能是您正在扩展已经声明此方法的类 A 的子类 B,但是复制/粘贴您忘记在“扩展 B”中重命名“扩展 A”的扩展。希望这会有所帮助。
【解决方案2】:

您的班级可能有两次相同的功能。如果是这种情况,请删除其中一个。

有时您的类会扩展具有相同功能的类。然后,您必须使用“override”关键字来修改扩展方法,或者直接调用该方法而不在类中定义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    相关资源
    最近更新 更多