提取出子串但得到编译器错误

时间:2018-06-13 15:23:46

标签: ios swift swift4 swift4.1

我有一个字符串“John + 20”,我想提取出“John”,所以,我尝试了基于this answer的跟踪:

// data contains value "John+20"
static func getName(fromString data: String?) {
  guard let myData = data else {
      return
  }

  let idx = myData.index(of: "+")
  //Compiler ERROR: Generic parameter 'Self' could not be inferred
  let name = String(myData[..<idx])
}

但是我收到了代码注释中提到的错误,为什么会这样?

我在iOS项目中使用Swift 4.1。

1 个答案:

答案 0 :(得分:0)

我猜索引也是可选的。试试:

// data contains value "John+20"
static func getName(fromString data: String?) {
  guard let myData = data else, let idx = myData.index(of: "+") {
      return
  }

  let name = String(myData[..<idx])
}