尝试传入 string.range(of:, options:, range:, locale)
时出错
具体来说,对于我尝试传入的范围修饰符
Range(remainingRange)
与 remainingRange = NSMakeRange(0, string.count)
但是,该错误似乎表明它属于不匹配的类型,其中没有 String.Index
: 'Range<Int>?' to expected argument type 'Range<String.Index>?'
。
我不知道为什么这会成为一个问题,因为在目标 c 中传递范围是有效的。有什么想法吗?
答案 0 :(得分:0)
Swift 字符串不能被 Int
索引下标,因为字符的长度是灵活的。
替换
NSMakeRange(0, string.count)
与
NSRange(string.startIndex..., in: string)
或者 - 更好 - 只需省略 range
和 locale
参数。