2017-07-28 49 views
1

我有以下代碼,但我面臨一些問題,可能與'open'關鍵字有關。迅速 - 擴展PieChartView

class CustomPieChartView: PieChartView 
{ 


    internal override func initialize() 
    { 
     super.initialize() 

     renderer = PieChartRenderer(chart: self, animator: _animator, viewPortHandler: _viewPortHandler) 
     _xAxis = nil 

     self.highlighter = PieHighlighter(chart: self) 
    } 


} 

enter image description here

+1

你不能覆蓋框架的內部功能 –

回答

1

initialize在裏面PieChartView

標記internal按照Swift documentation你不能訪問框架internal成員(他們必須註明open)。

內部訪問使得能夠從他們的定義模塊任何源文件 內使用的實體,但不是在 模塊之外的任何源文件。定義應用程序或框架的內部結構時,通常使用內部訪問。

...

打開類成員可以通過子類他們定義成模塊 內被覆蓋,並且進口他們定義成模塊 任何模塊內。

Charts維護者(S)可能不希望重寫這個方法,但因爲它是開源也許你/有人可以嘗試有改變,如果有一個很好的理由,或使用情況。