Swift 4: 'init(_offset:)' 不可用

Swift 4: 'init(_offset:)' is unavailable

Swift 4 : 'init(_offset:)' is unavailable

我正在尝试扩展变量名(用花括号括起来)。

let message = "Hello {what}".expand(["what" : "world"])                
print(message) // Hello World

我将其用于动态 URL 构建。

在 Swift 3.2 之前,它运行良好。当我试图将它转换为 Swift 4 时,它抛出了上面提到的这一行的错误:

let templateStartChar = "{".utf16[String.UTF16View.Index(_offset: 0)]

如果有人遇到这个问题,下面是解决方案:

代替_offset我使用encodedOffset

let templateStartChar = "{".utf16[String.UTF16View.Index(encodedOffset: 0)]