【发布时间】:2020-04-30 22:10:53
【问题描述】:
我刚开始学习 swift,想创建一个简单的图表来显示一些数据。
我正在使用 AnyChart 库创建一个折线图,并且我正在绘制一系列线条到图表上。我注意到我重复了几乎所有的属性。我怎样才能使下面的代码不那么枯燥。
我正在使用 AnyChart 库创建一个折线图,并且我正在绘制一系列线条到图表上。我注意到我几乎重复了所有属性,唯一改变的是初始变量名。
我怎样才能减少生成的代码会考虑完整的变量名称(系列 1、系列 2)?
let series1Mapping = set.mapAs(mapping: "{x: 'x', value: 'value'}")
let series2Mapping = set.mapAs(mapping: "{x: 'x', value: 'value2'}")
let series1 = chart.line(data: series1Mapping)
let series2 = chart.line(data: series2Mapping)
series1.name(name: data.seriesNames[0])
series1.hovered().markers().enabled(enabled: true)
series1.hovered().markers()
.type(type: anychart.enums.MarkerType.CIRCLE)
.size(size: 4)
series1.tooltip()
.position(position: data.position)
.anchor(anchor: anychart.enums.Anchor.LEFT_CENTER)
.offsetX(offset: 5)
.offsetY(offset: 5)
series2.name(name: data.seriesNames[1])
series2.hovered().markers().enabled(enabled: true)
series2.hovered().markers()
.type(type: anychart.enums.MarkerType.CIRCLE)
.size(size: 4)
series2.tooltip()
.position(position: data.position)
.anchor(anchor: anychart.enums.Anchor.LEFT_CENTER)
.offsetX(offset: 5)
.offsetY(offset: 5)
【问题讨论】:
-
获取重复的代码并将其移动到一个函数中,该函数获取您的映射并返回一个图表。
-
您是否使用
for循环进行过调查? -
我试过让它工作,但是我不明白如何返回带有各种数据类型的函数。
标签: ios swift refactoring dry