Xcode 7 beta 5 Swift 2冗余符合协议错误

7

我最近下载了带有Swift 2的Xcode 7。当我尝试将我的类符合UITableViewDataSourceUITableViewDelegate时,以下是我在Xcode 6.2中完美运行但在Xcode 7 beta 5中抛出的错误:

class TableViewController: UITableViewController, UITableViewDataSource, UITableViewDelegate {
}

//错误:‘TableViewcontroller’多余遵循协议‘UITableViewDataSource’

我在谷歌上搜索了答案,但无法解决这个问题。


UITableViewController 已经符合这两个协议,不需要再次指定。 - rmaddy
真的吗?那我应该跳过它,继续我的项目。非常感谢你。 - samson matt
1个回答

26

不需要指明你的TableViewController符合这两个协议,因为UITableViewController已经符合了。因此,由于继承关系,你的类也会符合这两个协议。

你需要的仅仅是:

class TableViewController: UITableViewController {
}

看起来,Swift2在这方面比Swift更严格。


当你想要将UITableViewDelegateUITableViewDataSource提取到单独的协议扩展中以便于组织时,在UITableViewController类中进行操作可能会有些麻烦。 - Craig Otis
@CraigOtis 是的,我也想这样做,但是一直出现冗余符合性错误。你能帮忙提取吗? - Pinank Lakhani
@PinankLakhani 你应该开一个单独的问题。 - Craig Otis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接