修复了 tableView 函数的“已弃用并将在 Swift 4 中删除”警告

Posted

技术标签:

【中文标题】修复了 tableView 函数的“已弃用并将在 Swift 4 中删除”警告【英文标题】:Fix for getting "deprecated and will be removed in Swift 4" warning for tableView functions 【发布时间】:2017-11-27 06:19:15 【问题描述】:

我刚刚将我的代码升级到 Swift 4,现在在控制台上收到所有 tableView 函数的警告。

tableView:willDisplayCell:forRowAtIndexPath:] is deprecated and will be removed in Swift 4; add explicit '@objc' to the declaration to emit the Objective-C entrypoint in Swift 4 and suppress this message

tableView:cellForRowAtIndexPath:] is deprecated and will be removed in Swift 4

【问题讨论】:

【参考方案1】:

使用下面的代码cellForRow

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 

使用下面的一个来识别正在显示的单元格

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) 

如果您对数据源和委托函数有疑问,请选择 UITableViewDataSource 或 UITableViewDelegate 并右键单击跳转到定义,这将导致获取您的函数

希望对你有帮助

【讨论】:

【参考方案2】:

我不建议任何人像这样解决这个问题,但它确实对我有用。 您可以在您使用的每个 tableView 函数的开头添加“@objc”。

像这样:

@objc func tableView(_ tableView: UITableView!, numberOfRowsInSection section: Int) -> Int 
    return 1

【讨论】:

以上是关于修复了 tableView 函数的“已弃用并将在 Swift 4 中删除”警告的主要内容,如果未能解决你的问题,请参考以下文章

store/ 的 Vuex 经典模式已弃用,将在 Nuxt 3 中删除

Ruby Squeel 库弃用核心扩展

连接到 mongoDB

连接到 mongoDB

机器学习:基础 折旧警告

ValueError:在 defaultdict 上使用 sklearn 时样本数不一致