Swift NSString函数语法用法

Fri*_*fit 4 nsstring ios swift

我有一个关于swift函数调用语法的基本问题.我已阅读文档,但无法弄清楚.所以决定在这里提出一个问题.

我写的一段代码

    var string1 = NSString().stringByAppendingString("First string")
    var string2 = NSString.stringByAppendingString("Second string")

    println(string1)
    println(string2)
Run Code Online (Sandbox Code Playgroud)

两个字符串都具有相同的函数调用但返回类型不同.这里唯一不同的是().我出去了

第一串

(功能)

问题是它没有发出警告/错误的原因.它是否var string2拥有方法体stringByAppendingString?什么事情发生,像我这样的新快速开发人员很容易犯这种错字错误而无法弄明白.

你能解释一下为什么它没有回报价值吗?

Vla*_*mir 6

这是因为快速方法是curry函数(你可以在Ole Begemann的帖子中找到详细的解释).

那你在以下几行中实际得到了什么:

var string2 = NSString.stringByAppendingString("Second string")
Run Code Online (Sandbox Code Playgroud)

是一个函数,它接受一个字符串作为参数并返回结果

"Second string".stringByAppendingString(parameter)
Run Code Online (Sandbox Code Playgroud)

你可以通过调用string2作为普通函数来检查:

string2("123")
// Prints: "Second string123"
Run Code Online (Sandbox Code Playgroud)