Swift 3 UITableView数据源方法viewForHeaderInSection给出警告

Swift 3 UITableView数据源方法viewForHeaderInSection给出警告,第1张

概述迁移到Swift 3后,我有以下方法: func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {} 它给了我警告 Instance method ‘tableView(tableView:viewForHeaderInSection:)’ nearly matches opt 迁移到Swift 3后,我有以下方法:
func tableVIEw(_ tableVIEw: UItableVIEw,vIEwForheaderInSection section: Int) -> UIVIEw? {}

它给了我警告

Instance method ‘tableVIEw(tableVIEw:vIEwForheaderInSection:)’ nearly
matches optional requirement ‘tableVIEw(_:TitleForheaderInSection:)’
of protocol ‘UItableVIEwDataSource’

Fix-it提供使方法私有或添加@“nonobjc”注释。如何解决警告?

我的应用程序中有类似的警告。实际上有两个问题。我通过将下划线添加到方法签名中或通过将方法移动到实现方法来自的协议的正确扩展来修复所有警告。

我认为你的问题可能是两者的结合。

更详细地说:

1)您可能忘记在“tableVIEw:…”之前添加“下划线”字符,这使得它在Swift 3中是不同的方法(在Swift 2.3中并不重要)。所以你应该改变这个:

func tableVIEw(tableVIEw: UItableVIEw,vIEwForheaderInSection section: Int) -> UIVIEw?

到这个:

func tableVIEw(_ tableVIEw: UItableVIEw,vIEwForheaderInSection section: Int) -> UIVIEw?

2)方法tableVIEw(_:vIEwForheaderInSection :)来自UItableVIEwDelegate协议,但是看起来编译器不知道这个方法 – 它只知道来自UItableVIEwDataSource的方法,并尝试建议你们之一(tableVIEw(_ :TitleForheaderInSection :))。所以你根本不执行UItableVIEwDelegate,或者你也可以执行另一个扩展?

总结

以上是内存溢出为你收集整理的Swift 3 UITableView数据源方法viewForHeaderInSection给出警告全部内容,希望文章能够帮你解决Swift 3 UITableView数据源方法viewForHeaderInSection给出警告所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1052576.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存