狠狠撸
Submit Search
Introduction of ios-chart in oss-labs#3
?
0 likes
?
1,397 views
D
Daisuke Yamashita
Follow
about ios-chart
Read less
Read more
1 of 12
Download now
Download to read offline
More Related Content
Introduction of ios-chart in oss-labs#3
1.
地味ライブラリ紹介 ios-chart オープンソース勉強会 山下大輔
2.
? 自己紹介?https://github.com/daisuke0131 ? iOS,Unityエンジニア ?
https://github.com/daisuke0131/ ViewMonitor を作っています。星ください。PR 下さい。 ? 最近ゲームも作ってます。
3.
What s ViewMonitor star数
558 (2016/01/22) Natashaさんのキュ レーションメディ アに乗せてもらえ た。 https:// swiftnews.curated.co/ issues/55
4.
Unityについて タイトル(未定) 3月中旬頃リリース予定 テスターを募集中!!
5.
? star数 7053個の圧倒感 ?
グラフ描画ライブラリ ? MPAndroidChartにインスパイアされている。 iOS-Chartについて https://github.com/danielgindi/ios-charts
7.
LineChartについて こういうやつ
8.
LineChartについて LineChartView BarLineChartViewBase ChartViewBase BarChartViewScatterChartView 後ろのこういうやつ作ってる ?データのハンドリング ?アニメーションのハンドリング
9.
iOS-Chartについて public class LineChartView:
BarLineChartViewBase, LineChartDataProvider { internal override func initialize() { super.initialize() renderer = LineChartRenderer(dataProvider: self, animator: _animator, viewPortHandler: _viewPortHandler) } internal override func calcMinMax() { super.calcMinMax() if (_deltaX == 0.0 && _data.yValCount > 0) { _deltaX = 1.0 } } // MARK: - LineChartDataProvider public var lineData: LineChartData? { return _data as? LineChartData } }
10.
iOS-Chartについて public class LineChartView:
BarLineChartViewBase, LineChartDataProvider { internal override func initialize() { super.initialize() renderer = LineChartRenderer(dataProvider: self, animator: _animator, viewPortHandler: _viewPortHandler) } internal override func calcMinMax() { super.calcMinMax() if (_deltaX == 0.0 && _data.yValCount > 0) { _deltaX = 1.0 } } // MARK: - LineChartDataProvider public var lineData: LineChartData? { return _data as? LineChartData } } グラフ描画用レンダラ
11.
LineChartRendererの中身 LineChartDataProvider:データ型用のインターフェース @objc public protocol LineChartDataProvider:
BarLineScatterCandleBubbleChartDataProvider { var lineData: LineChartData? { get } func getAxis(axis: ChartYAxis.AxisDependency) -> ChartYAxis } internal func drawLinear(context context: CGContext, dataSet: ILineChartDataSet) { . . . CGContextStrokeLineSegments(..) } LineChartRenderer
12.
ソースコードまとめ ?継承によって責務が分けられており、追いかけやすかっ た。軽量なライブラリだとstructでガツっと作られた りとかmoduleで切り分けることが前提だったり。 ?privateな変数をアンダーバーで記述してあるっぽい (private _name みたいな)。(object-cで絶滅したと 思っていたが、まだやってる人いる?) ?swiftの勉強用コードリーディングの材料としてオス スメ
Download