2017-04-13 69 views
-4
let subString = self[Range(start: start++, end: endIndex)] 
if subString.hasPrefix(other){ 
    return true 
} 

我在迅速2.3此代码,我使用此代码作为扩展为字符串值, 的xcode将它转换为遵循转换的代码迅速2.3至迅速3

let subString = self[((start++) ..< endIndex)] 

,并开始给我错误

一元运算符 '++' 不能被应用于类型的 '@lvalue String.Index'(又名 '@lvalue String.CharacterView.Index')

中的操作数

我现在不知道Xcode希望我写它的究竟是什么?

+0

更换start++比较[如何在斯威夫特3 String.Index工作(http://stackoverflow.com/q/39676939/2976878) - 你想做'index(after:start)'(这不会改变'start',但你可以很容易地通过在单独的行上赋值)。 – Hamish

+0

@Harmish帮助(y) –

+0

这就是我正在做的!我只是说如果我谈论同样的问题,我不能评论!那么该怎么办? –

回答

2

在Swift 3中,您不能通过Int直接递增String.Index

我不知道start究竟是如何定义的,但你可以用

self.index(start, offsetBy: 1) 
+0

感谢@vadian,像魅力一样工作 –

+0

@GurjotKalsi请确保您接受vadian的答案,如果它适合您。 – Adrian

+0

是的,我试过说等几分钟!所以我只是在等待 –