func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) 几乎符合可选要求

Posted

技术标签:

【中文标题】func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) 几乎符合可选要求【英文标题】:func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) nearly matches optional requirement 【发布时间】:2016-11-04 22:38:42 【问题描述】:

我有一个这样的UIViewController

class ViewController 
    override func viewDidLoad() 
        super.viewDidLoad()
        self.tableView.dataSource = self
        self.tableView.delegate = self
    


extension ViewController: UITableViewDataSource 
     // datasource methods...
       

extension ViewController: UITableViewDelegate 
    func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool 
    

但我收到此警告:

实例方法'tableView(:canEditRowAt:)' 几乎匹配协议'UITableViewDelegate'的可选要求'tableView(:canFocusRowAt:)'

而且我无法删除该警告。

如何删除该警告?

我必须在没有任何警告的情况下为我工作的公司提交 Xcode 项目,但我找不到如何抑制警告。

【问题讨论】:

它对我来说很好用。尝试使用自动完成删除该功能并再次键入它。 你使用的是 Swift 2 还是 3? @penatheboss 我已经编辑了问题,添加了我实现 UITableViewDelegate 和 UITableViewDataSource 的方式 @rmaddy 我正在使用 Swift 3 【参考方案1】:

问题在于tableView(_:canEditRowAt:) 方法来自UITableViewDataSource 协议,而不是UITableViewDelegate 协议。将其移至其他扩展程序。

【讨论】:

以上是关于func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) 几乎符合可选要求的主要内容,如果未能解决你的问题,请参考以下文章

在 tableview 的文本字段中搜索

协助区分 URL 和 Tableview 数据

在 viewController 中重新加载 tableView

滚动视图内的不可滚动的tableview

以编程方式在特定 UICollectionViewCell 内的 TableView?

为啥在 searchBar 和 tableview 之间添加空格?