Skip to main content
added 524 characters in body
Source Link

In swift 3 you can no longer use advanced, successor or predecessor, instead you need to use

let indexAfter = someString.index(after: someIndex)
let indexBefore = someString.index(before: someIndex)
let anyOtherIndex = someString.index(someIndex, offsetBy: distance)

so your code should look like this

let index = (hasOverflow) ? 
text.index(text.startIndex, offsetBy: expectedInputLength) :
text.index(text.startIndex, offsetBy: text.characters.count)

As a side note,

text.index(text.startIndex, offsetBy: text.characters.count)

Is actually the same as

text.endIndex

So you can use this instead

let index = (hasOverflow) ? 
text.index(text.startIndex, offsetBy: expectedInputLength) :
text.endIndex

In swift 3 you can no longer use advanced, instead you need to use

let index = (hasOverflow) ? 
text.index(text.startIndex, offsetBy: expectedInputLength) :
text.index(text.startIndex, offsetBy: text.characters.count)

In swift 3 you can no longer use advanced, successor or predecessor, instead you need to use

let indexAfter = someString.index(after: someIndex)
let indexBefore = someString.index(before: someIndex)
let anyOtherIndex = someString.index(someIndex, offsetBy: distance)

so your code should look like this

let index = (hasOverflow) ? 
text.index(text.startIndex, offsetBy: expectedInputLength) :
text.index(text.startIndex, offsetBy: text.characters.count)

As a side note,

text.index(text.startIndex, offsetBy: text.characters.count)

Is actually the same as

text.endIndex

So you can use this instead

let index = (hasOverflow) ? 
text.index(text.startIndex, offsetBy: expectedInputLength) :
text.endIndex
Source Link

In swift 3 you can no longer use advanced, instead you need to use

let index = (hasOverflow) ? 
text.index(text.startIndex, offsetBy: expectedInputLength) :
text.index(text.startIndex, offsetBy: text.characters.count)