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?什么事情发生,像我这样的新快速开发人员很容易犯这种错字错误而无法弄明白.
你能解释一下为什么它没有回报价值吗?
这是因为快速方法是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)