Я использую круговую диаграмму из библиотеки Charts для iOS и могу отображать результаты на диаграмме, но я не могу отформатировать значение в этой диаграмме.
Ожидаемый результат
Я хочу, чтобы значение добавлялось перед значением. Так же, как это - £ 10
Что я сделал
class ChartValueFormatter : NSObject, IValueFormatter {
var numberFormatter : NumberFormatter?
convenience init(numberFormatter : NumberFormatter) {
self.init()
self.numberFormatter = numberFormatter
}
func stringForValue(_ value: Double, entry: ChartDataEntry, dataSetIndex: Int, viewPortHandler: ViewPortHandler?) -> String{
return numberFormatter!.string(for: "£ \(value)")!
}
}
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
numberFormatter.locale = Locale.current
let valuesFormatter = ChartValueFormatter(numberFormatter: numberFormatter)
dataSet.valueFormatter = valuesFormatter
Актуальная проблема
Этот подход дает мне ошибку на return numberFormatter!.string(for: "£ \(value)")!
, и ошибка заключается в том, что value
равен nil
.
Может кто-нибудь помочь мне с тем, что я сделал неправильно и что нужно сделать, чтобы получить ожидаемый результат.