【问题标题】:'advancedBy' is unavailable in Xcode 8 [closed]'advancedBy' 在 Xcode 8 中不可用 [关闭]
【发布时间】:2016-07-19 04:00:02
【问题描述】:

目前,我一直在使用XCode 8并上线

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

我得到错误:

错误:“advancedBy”不可用:要将索引推进 n 步,请在生成索引的 CharacterView 实例上调用“index(_:offsetBy:)”。

我该如何解决这个问题?

错误截图如下:

【问题讨论】:

标签: ios swift swift3


【解决方案1】:

advancedBy(_:) 在 Swift v3 中已被弃用,并被 index(_:offsetBy:) 取代。有关详细信息,请参阅 Apple 的 migration guide

您的错误的解决方案:

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

【讨论】:

    【解决方案2】:

    您可以通过构建新字符串而不是操作旧字符串来更简单地实现您的目标:

    let upperCasedFirstCharacter = String(key.characters.first!).uppercased()
    
    let remainder = key.substring(from: key.characters.index(after: key.characters.startIndex))
    
    let selector = "set\(upperCasedFirstCharacter)\(remainder)"
    

    【讨论】:

      猜你喜欢
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 2017-02-24
      相关资源
      最近更新 更多