类型'String.Index'不符合协议'_Strideable'

问题描述 投票:0回答:1

我读了this线程,但它似乎有另一个问题。这段代码:

if value.range(of: String(formatter.minusSign))?.count > 0 {
    //STH
}

(其中formatterNumberFormatter对象而valueString)在Swift中产生此错误:

类型'String.Index'不符合协议'_Strideable'

怎么解决?

swift
1个回答
1
投票

您必须检查范围是否不是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
}
© www.soinside.com 2019 - 2024. All rights reserved.