我收到 startIndex 错误。错误是“‘string.index’类型的值(又名‘string.characterview.index’)没有成员‘advanced’”。这是代码和错误图像。
public override final var secureTextEntry: Bool {
didSet {
let textFieldArray: [UITextField?] = [numberInputTextField, cvcTextField, monthTextField, yearTextField]
textFieldArray.forEach({$0?.isSecureTextEntry = secureTextEntry})
}
}
Image of Error of isfirstresponder
在 swift 3 中,你不能再使用 advanced、successor 或 predecessor,而是需要使用
let indexAfter = someString.index(after: someIndex)
let indexBefore = someString.index(before: someIndex)
let anyOtherIndex = someString.index(someIndex, offsetBy: distance)
所以你的代码应该是这样的
let index = (hasOverflow) ?
text.index(text.startIndex, offsetBy: expectedInputLength) :
text.index(text.startIndex, offsetBy: text.characters.count)
作为旁注,
text.index(text.startIndex, offsetBy: text.characters.count)
其实和
是一样的
text.endIndex
所以你可以用这个代替
let index = (hasOverflow) ?
text.index(text.startIndex, offsetBy: expectedInputLength) :
text.endIndex