类型 UiViewController 不符合协议 xxx

Posted

技术标签:

【中文标题】类型 UiViewController 不符合协议 xxx【英文标题】:Type UiViewController does not conform to protocol xxx 【发布时间】:2016-09-23 12:28:46 【问题描述】:

我在 Objective-C 代码中有一个委托方法,需要在我的项目中实现,该方法在 swift 2.3 的早期版本中运行良好,但在升级到 swift 3.0 后它显示错误...

我已经尝试了所有我能想到的方法,但仍然无法正常工作。

【问题讨论】:

哪个协议?你的代码在哪里?协议中定义了什么?您是否添加了协议所需的所有必需函数和变量? 【参考方案1】:

Objective-C 协议中的函数(如 UITableViewDataSouce)已更改为更快速的样式 例如:

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

已更改为

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 只需修改为新样式的func,错误就会消失

【讨论】:

以上是关于类型 UiViewController 不符合协议 xxx的主要内容,如果未能解决你的问题,请参考以下文章

类型 ViewController 不符合协议 SKPaymentTransactionObserver

类型“myViewController”不符合 Swift 中的 UIPIckerDataSource 协议

UITableView 不符合协议

符合两种协议的Swift泛型类型

ViewController 不符合协议 UITableViewDataSource

类型 '' 不符合协议 'Decodable'/'Encodable'