Ios 否'';候选人制作';范围<;字符串索引>';
将旧iOS应用程序转换为Sift 3.0时,我遇到了以下问题: 代码是:Ios 否'';候选人制作';范围<;字符串索引>';,ios,string,swift3,range,Ios,String,Swift3,Range,将旧iOS应用程序转换为Sift 3.0时,我遇到了以下问题: 代码是: cutRange = numberString.index(numberString.startIndex, offsetBy:2)...numberString.index(numberString.startIndex, offsetBy:5) 我收到的错误消息是: No '...' candidates produce the expected contextual result type 'Range<St
cutRange = numberString.index(numberString.startIndex, offsetBy:2)...numberString.index(numberString.startIndex, offsetBy:5)
我收到的错误消息是:
No '...' candidates produce the expected contextual result type 'Range<String.Index>' (aka 'Range<String.CharacterView.Index>')
No'…'候选项生成预期的上下文结果类型“Range”(又名“Range”)
我看过一些关于这个主题的帖子,但不是很满意
那么,解决这个问题的最简单方法是什么呢?在Swift 3中,两个范围运算符生成不同的结果:
- 闭合范围运算符
->…
(默认情况下)ClosedRange
- (半开)范围运算符
。
(默认)范围
因此,假设您的
cutRange
声明为Range
,则需要使用半开范围运算符。在Swift 3中,两个范围运算符生成不同的结果:
- 闭合范围运算符
…
->ClosedRange
(默认情况下)
- (半开)范围运算符
。范围
(默认)
因此,假设您的cutRange
被声明为Range
,您需要使用半开范围运算符。在Swift 3游戏中,这对我来说似乎很好。我假设numberString
是一个String
?是的numberString是一个String。在swift3游戏中,这对我来说似乎编译得很好。我假设numberString
是一个String
?是的numberString是一个String.OK。我试试看。这意味着使用“…”和“…”。@Michel,没错。Swift 3添加了一些范围类型,而不是range
,ClosedRange
,CountableRange
和ClosedCountableRange
。。
无法生成range
或CountableRange
。好的。我会试试。这意味着使用“…”和使用“..@Michel,没错。Swift 3添加了一些范围类型,而不是范围
-关闭范围
、可计数范围
和关闭可计数范围
。和…
无法生成范围
或可数范围
。
cutRange = numberString.index(numberString.startIndex, offsetBy:2)..<numberString.index(numberString.startIndex, offsetBy:6)