2016-10-08 4 views
3

error messages«advancedBy» в Swift недоступен

Я не уверен, как решить вышеупомянутые сообщения об ошибках, я попытался преобразовать его в индекс, но кажется, что он не принимает строки.

Я не уверен, как работает advancedBy. Помощь очень ценится!

ответ

2

В Swift 3, advancedBy() был переименован в advanced(by: Int).

Кроме того, substringWithRange был переименован в substring(with: Range).

0

ошибка (иногда более легко видеть в "Проблемы Навигатора", нажав опцию +) говорит:

error: 'advancedBy' is unavailable: To advance an index by n steps call 'index(_:offsetBy:)' on the CharacterView instance that produced the index.

Таким образом, вы можете сделать:

let r = testStr.index(testStr.startIndex, offsetBy: range.location) ..< testStr.index(testStr.startIndex, offsetBy: range.location + range.length) 
let result = testStr[r] 

Or

let start = testStr.index(testStr.startIndex, offsetBy: range.location) 
let end = testStr.index(start, offsetBy: range.length) 
let result = testStr[start ..< end] 
Смежные вопросы