2017-05-06 29 views
-2

我將Swift2.3代碼轉換爲Swift3,並在我使用advancedBy的那一行出現錯誤。 XCode向我展示了一個使用offsetBy的替換代碼,但我仍然不明白。在Swift3轉換中得到了advancedBy的錯誤

func unhideEmaimage(_ imageFile: String) { 
    let dotLocation = imageFile.characters.index(of: ".") 

    self.emaImage.texture = SKTexture(imageNamed: imageFile) 

    if dotLocation != nil { 
     let filenameInitial = imageFile.startIndex 
     let filenameLast = dotLocation!.advancedBy(-1) 
     let filenamePart:String = imageFile[filenameInitial...filenameLast] 
    } 

而且,以下是XCode演示如何修復錯誤的代碼。但是,我仍然不知道如何修改。

let filenameLast = "String.CharacterView corresponding to your index".index(dotLocation!, offsetBy: -1) 

請讓我知道如何解決這個錯誤。先謝謝你。

+1

的[advancedBy是在Xcode 8不可用]可能的複製(http://stackoverflow.com/questions/38449379/advancedby-is-unavailable-in-xcode-8 ) – vadian

回答

1

你應該這樣寫:

let filenameLast = imageFile.index(dotLocation!,offsetBy: -1) 
+0

謝謝!我可以修復這個錯誤。 – vanagar

相關問題