如何在应用程序(外部框架)中重写内部框架方法



Swift 中进行子类化时,是否有任何方法可以覆盖内部框架方法?前任。超类

public class BarChartRenderer: ChartDataRendererBase {
   internal func drawDataSet(context context: CGContext, dataSet: BarChartDataSet, index: Int) {
             ...
   }
}

我想覆盖此方法以不同的方式绘制数据集(iOS图表)

public class ESBarChartRenderer: BarChartRenderer {
   overide func drawDataSet(context context: CGContext, dataSet: BarChartDataSet, index: Int) {
             ...
   }
}

但是当我尝试覆盖Xcode时,给我错误:

方法

不会覆盖其超类中的任何方法

因为它是内部的。

还有一个内部变量,我需要访问,与上面相同,Xcode 看不到它。

您应该使用 open 关键字而不是public

在此处检查访问控制:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html

最新更新