如何覆盖'UIScrollView.delegate'?

Posted

技术标签:

【中文标题】如何覆盖\'UIScrollView.delegate\'?【英文标题】:How to override 'UIScrollView.delegate'?如何覆盖'UIScrollView.delegate'? 【发布时间】:2015-07-31 16:19:16 【问题描述】:

当我查看UITableView 时,我发现UITableViewUITableViewDelegate 继承自UIScrollViewDelegate 以便覆盖UIScrollViewdelegate

这是我实现自己的“UIScrollView”子类的方法。

protocol UIFormViewDelegate:NSObjectProtocol, UIScrollViewDelegate

class UIFormView: UIScrollView 
    override var delegate:UIFormViewDelegate?

问题是编译器给出警告:

类型为 'UIFormViewDelegate?' 的属性 'delegate'无法覆盖类型为“UIScrollViewDelegate?”的属性

谁能告诉我这里出了什么问题?

【问题讨论】:

【参考方案1】:

你不能覆盖delegate的类型

你能做的就是这样

class DelegateClass: NSObject, UIFormViewDelegate 



class UIFormView: UIScrollView 
    func setUpDelegate() 
        self.delegate = DelegateClass()
    

然后在有意义的地方拨打setUpDelegate

【讨论】:

如果是,为什么 UITableView 覆盖委托成功 因为那段代码是用 Objective-C 写的。如果你在 Obj-C 中实现 UIFormView 类,你也可以这样做,但不能使用 Swift

以上是关于如何覆盖'UIScrollView.delegate'?的主要内容,如果未能解决你的问题,请参考以下文章

如何:获取代码覆盖率数据

你好,LABVIEW复制文件,如何做到不覆盖?

如何自动给文件命名,避免覆盖同名文件?

安卓软件升级软件如何覆盖旧版

如何在代码覆盖率报告 Laravel 8 中覆盖异常?

如何配置 SonarQube 让我们增加覆盖范围?