在Swift3转换时出现advancedBy错误

时间:2017-05-06 02:55:50

标签: swift3

我将Swift2.3代码转换为Swift3,并在使用advancedBy的行中出错。 XCode向我展示了使用offsetBy的替换代码,但我仍然不理解。

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 个答案:

答案 0 :(得分:1)

你应该写下这个:

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