文字字符串与swift中的`String`

gwc*_*fey 6 swift

玩得很快我发现这令人惊讶:

"123".integerValue // <= returns 123

var x = "123"
x.integerValue     // <= Error: String does not have a member named integerValue
Run Code Online (Sandbox Code Playgroud)

谁能解释一下?

las*_*sej 6

我的猜测是,在第一个例子中,编译器使用调用integerValue作为附加信息来推断类型(在NSString和Swift String之间进行选择).

在第二个示例中,它可能默认为Swift String,因为它不会评估多行.