2016-07-19 11 views
11

Xcode 8 kullanılamaz, ben hata alıyorum XCode 8 kullanma ve hat'advancedBy' Şu

let range = key.startIndex...key.startIndex.advancedBy(0) 

üzerine ettik:

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

Bunu nasıl düzeltebilirim?

hatanın bir ekran görüntüsü aşağıdaki gibidir:

advancedBy is unavailable

+1

sorunuzu kod yanı sıra ekran görüntüsünü ekleyin. – Paulw11

+1

Dizin offset'i kullanmanız gerekirBy http://stackoverflow.com/a/38215613/2303865 –

+0

Bkz. Https://github.com/apple/swift-evolution/blob/master/proposals/0065-collections-move-indices. md – HAS

cevap

0

Sadece eskisini yeni bir dize inşa ziyade manipüle ederek daha sonra ne elde edebilirsiniz:

let upperCasedFirstCharacter = String(key.characters.first!).uppercased() 

let remainder = key.substring(from: key.characters.index(after: key.characters.startIndex)) 

let selector = "set\(upperCasedFirstCharacter)\(remainder)" 
18

advancedBy(_:) Swift v3'te kullanımdan kaldırıldı ve index(_:offsetBy:) ile değiştirildi. Daha fazla bilgi için Apple'ın migration guide'a bakın.

Hatanızla çözüm:

let range = key.startIndex...key.index(key.startIndex, offsetBy: 0)