2017-05-06 54 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

相关问题