【问题标题】:Swift NSString function syntax usageSwift NSString 函数语法使用
【发布时间】:2014-11-14 11:21:06
【问题描述】:

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

我写的一段代码

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

    println(string1)
    println(string2)

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

第一个字符串

(功能)

问题是为什么它没有给出警告/错误。是var string2 持有stringByAppendingString 的方法体吗?这是怎么回事,像我这样的新 swift 开发人员很容易犯这种类型的拼写错误而无法弄清楚。

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

【问题讨论】:

    标签: ios swift nsstring


    【解决方案1】:

    这是因为 swift 方法是 curried 函数(您可以在 Ole Begemann's post 中找到详细说明)。

    那么你实际上在下面一行得到了什么:

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

    是一个以字符串为参数并返回结果的函数

    "Second string".stringByAppendingString(parameter)
    

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

    string2("123")
    // Prints: "Second string123"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-01
      • 1970-01-01
      • 2014-09-06
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      相关资源
      最近更新 更多