Нулевой символ в iOS MeasurementFormatter - PullRequest
2 голосов
/ 01 мая 2020

У меня проблемы с объявлением / использованием нулевого символа для неизвестного значения при использовании MeasurementFormatter:

let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
numberFormatter.zeroSymbol = "?"

numberFormatter.string(from: 0.0) // '?'

let formatter = MeasurementFormatter()
formatter.unitOptions = .providedUnit
formatter.numberFormatter = numberFormatter

var distance = Measurement<UnitLength>(value: 0, unit: .parsecs)
formatter.string(from: distance) // '0 pc' - expected: '? pc'

Попытка использования различных объявлений значения, таких как Double.zero, не меняет вывод. Это концептуальная вещь в iOS или я что-то здесь упускаю?

1 Ответ

0 голосов
/ 02 мая 2020

Оказалось для получения желаемого результата путем изменения декларации измерений (distance):

let dist1 = Measurement<UnitLength>(value: 0, unit: .parsecs) // output: '0 pc'
let dist2 = Measurement(value: 0, unit: Unit(symbol: UnitLength.parsecs.symbol)) // output '? pc' as expected

A радар подается.

...