当我在ubuntu 16.04中使用self swift2时,无法将'String'类型的值转换为强制类型'NSString'

我有一个问题,代码抛出下一条消息:

error: cannot convert value of type 'String' to type 'NSString' in coercion
            return (self as NSString).substringWithRange(range)

我可以在之前解决,但不能通过自行呼叫解决,因此下面是代码:
let range = expression.rangeOfFirstMatchInString(self, options: [], range: NSMakeRange(0, self.utf16.count))
    if range.location != NSNotFound {
        return (self as NSString).substringWithRange(range)
    }
    return nil


最佳答案:

Ubuntu中的swift编译器不会自动识别NSString有一个将String作为参数的构造函数。(编译程序在编译时解释)
相反,你可以自己写作

NSString(string: self)