[英]Cannot convert value of type 'Range<String.Index>' (aka 'Range<String.CharacterView.Index>') to expected argument type 'NSRange' (aka '_NSRange')
[英]Cannot convert value of type 'Range<Int>?' to expected argument type 'Range<String.Index>?
尝试传入string.range(of:, options:, range:, locale)
具体来说,对于范围修饰符,我尝试传入Range(remainingRange)
和remainingRange = NSMakeRange(0, string.count)
Range(remainingRange)
remainingRange = NSMakeRange(0, string.count)
但是,该错误似乎表明它的类型不匹配,其中没有String.Index
: 'Range<Int>?' to expected argument type 'Range<String.Index>?'
'Range<Int>?' to expected argument type 'Range<String.Index>?'
.
我不确定为什么这会成为一个问题,因为在目标 c 中传递范围是有效的。 有任何想法吗?
Swift 字符串不能被Int
索引下标,因为字符的长度是灵活的。
代替
NSMakeRange(0, string.count)
和
NSRange(string.startIndex..., in: string)
或者 - 更好 - 只是省略range
和locale
参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.