我希望能够很好地使用Measurement and MeasurementFormatter来输出和输入NSTextFieldCell。
我能够正确显示测量结果......
let areaFormatter = MeasurementFormatter()
areaFormatter.unitStyle = .medium
areaFormatter.unitOptions = .providedUnit
let area = Measurement<UnitArea>( value: 123.43, unit: .squareInches)
let editInput = NSTextFieldCell
editInput.objectValue = area
editInput.formatter = areaFormatter
显示类似
的内容123.43 in^2
当我想用
重新阅读时,问题就出现了var inputArea = editInput.objectValue as! Measurement<UnitArea>
我认为因为没有定义Measurement Formatter的get Object值。
open func getObjectValue(_ obj: AutoreleasingUnsafeMutablePointer<AnyObject?>?, for string: String, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool
我的理解是否正确?在Swift中是否有任何为测量定义此功能的例子?
现在,用户可以编辑整个字符串,包括单位中的文本。有没有一种很好的方法来阻止NSTextFieldCell中的单位?我希望用户能够编辑数字而不是单位,然后用
返回测量var inputArea = editInput.objectValue as! Measurement<UnitArea>
所以这会显示
123.43 in^2
但只能编辑123.43。