Swift无法指定类型'()'的值键入' String?'

时间:2016-05-13 15:25:49

标签: ios swift uilabel

我正在学习Swift2 / iOS应用开发。我对编译前Xcode抛出的错误感到困惑。这是抛出错误的代码:

let dotpos = display.text!.rangeOfString(".")
if dotpos != nil {
    display.text = display.text!.removeRange(dotpos!)
}

引发的错误是(在第34行; display.text = display.text!.removeRange(dotpos!)"):

  

无法指定类型'()'的值输入' String?'

注意:显示是UILabel对象。

有人能指出我可能犯过的错误吗?

1 个答案:

答案 0 :(得分:5)

您需要检查此文档(Apple swift String link

let dotpos = display.text!.rangeOfString(".")
if dotpos != nil {
    display.text!.removeRange(dotpos!)
}

这段代码可行,removeRange函数没有返回任何内容,文档说

  

变异func removeRange(_ subRange:Range)

表示在文本标签上调用方法时文本会发生变异。

文本直接更改,您无需为更改它分配新值。