Невозможно вызвать инициализатор для типа CGFloat со списком аргументов типа 'String'
Я делаю гистограмму из JBChart. Я хотел бы изменить chartData на String. пожалуйста, помогите мне сделать это.
вот код chartData: var chartData = [1, 2, 3]
Затем я хочу изменить его на строку из UILabel из другого контроллера представления.
var chartData = [score1, score2, score3]
Но я всегда получаю эту ошибку (Невозможно вызвать инициализатор для типа CGFloat со списком аргументов типа 'String') в этом коде:
public func barChartView(_ barChartView: JBBarChartView!, heightForBarViewAt index: UInt) -> CGFloat {
return CGFloat(chartData[Int(index)])
}
1 ответ
Решение
Ошибка ясно говорит о том, что CGFloat
не имеет инициализатора, который принимает String
в качестве аргумента. Вы можете использовать обернутый как первый конвертировать String
в Float
а затем конвертировать Float
в CGFloat
,
public func barChartView(_ barChartView: JBBarChartView!, heightForBarViewAt index: UInt) -> CGFloat {
if let value = Float(chartData[Int(index)]) {
return CGFloat(value)
}
return 0
}
Примечание: убедитесь, что это String
иметь номер в качестве значения, иначе он вернется 0
за height
,