2016-11-11 7 views
0

신속하게 MeasurementFormatter에 custom unitOptions를 추가 할 수 있습니까? 나는 그런 .imperial 및 .metricSwift에서 MeasurementFormatter에 추가 unitOptions 추가

extension UnitEnergy { 
    static let footPounds = UnitEnergy(symbol: "ft-lbs", converter: UnitConverterLinear(coefficient: 1)) 
} 

var test = Measurement<UnitEnergy>(value: 10, unit: .footPounds) 
var formatter = MeasurementFormatter() 

formatter.locale = Locale(identifier: "es") 

print(formatter.unitOptions) 

print(formatter.string(from: test)) 

formatter.unitOptions = .naturalScale 
print(formatter.unitOptions) 

print(formatter.string(from: test)) 

formatter.unitOptions = .providedUnit 
print(formatter.unitOptions) 

print(formatter.string(from: test)) 

출력과 같은 사람을 정의 할 수 있도록하고 싶습니다 :

UnitOptions(rawValue: 0) 
10 J 
UnitOptions(rawValue: 2) 
2,39 cal 
UnitOptions(rawValue: 1) 
10 ft-lbs 
+0

열거 형에 더 많은 옵션을 추가하더라도 'MeasurementFormatter'는 새 값에 대해 아무것도 모릅니다. – rmaddy

+0

추가 된 값을 처리 할 수있는 MeasurementFormatter를 상속 한 클래스의 함수를 재정의하는 방법이 있습니까? – Andrew

답변

0

당신은 물론 imperialmetric 장치 옵션과 전화를받을 것입니다 자신의 클래스를 만들 수 있습니다 예상대로 작동하는 로케일이있는 측정 포맷터. 가장 간단한 접근 방법이며 예상대로 작동합니다. en_US와 en_AU를 사용하여 나는이 목적을 위해 그것을 기대했다.

자세한 내용과 가이드는 여기 Introduction to MeasurementFormatter입니다.