我读了this线程,但它似乎有另一个问题。这段代码:
if value.range(of: String(formatter.minusSign))?.count > 0 {
//STH
}
(其中formatter
是NumberFormatter
对象而value
是String
)在Swift中产生此错误:
类型'String.Index'不符合协议'_Strideable'
怎么解决?
您必须检查范围是否不是nil
if value.range(of: formatter.minusSign) != nil {
//STH
}
或 - 如果您想使用范围 - 可选绑定,则更可取
if let range = value.range(of: formatter.minusSign) {
// do somthing with the range
}
或者干脆
if value.contains(formatter.minusSign) {
//STH
}