使用自定义格式器应用字符串后缀

时间:2019-12-18 14:15:43

标签: ios swift iphone xcode eureka-forms

使用Swift的{​​{1}}类时,可以选择一种格式样式(能量,长度,质量等),该样式将显示在字段的末尾,例如下面的示例:

我正在使用Eureka框架构建表单,并试图达到相同的效果,但是将“ cal”后缀替换为“ hours”。

所以最终结果应该像“ 10小时”。

我正在使用仅接受Int值的Eureka的Formatter

经过一些搜索,我设法找到了一种方法,该方法可以使用可分配给IntRow的自定义格式化程序,但无法完全正常工作。当我尝试更改该字段的值时,该字段将变为空,没有任何值。

自定义格式代码:

IntRow

class NumberSuffixFormatter: Formatter { var suffix: String! init(suffix: String = "") { self.suffix = suffix super.init() } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func string(for obj: Any?) -> String? { if let intValue = obj as? Int { return "\(intValue) hours" } return nil } override func getObjectValue(_ obj: AutoreleasingUnsafeMutablePointer<AnyObject?>?, for string: String, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool { obj?.pointee = string as AnyObject return true } } 代码:

IntRow

0 个答案:

没有答案