格式化可以验证输入的有效性,这里有苹果的官网文档:数据格式化
我想实现当用户输入手机号时,只能输入 11 位数字,并且在输入过程中,对数字进行分组。分组使用空格。类似于"187 3897 1797"这种格式。
那么我继承了一个 NumberFormatter来实现这个需求
重写下面这个方法,来验证输入的有效性
override func isPartialStringValid(_ partialString: String, newEditingString newString: AutoreleasingUnsafeMutablePointer<NSString?>?, errorDescription error: AutoreleasingUnsafeMutablePointer<NSString?>?) -> Bool {
if partialString.isEmpty {
return true
}
if partialString.count > 13{
return false
}
return Int(partialString.replacingOccurrences(of: " ", with: ""))