【问题标题】:Method and Property chaining calls in SwiftSwift 中的方法和属性链接调用
【发布时间】:2016-01-16 12:56:15
【问题描述】:

我一直试图理解编程中方法链的概念,但我有点困惑。到目前为止,我可以通过返回self 从同一个类中调用多个函数。

能否解释一下并可能举一个简单的例子来说明如何调用一个类的方法和不同类的属性?我对实现感兴趣。

例如,以下代码演示了如何调用 NSNumberFormatter 类中的方法 numberFromString(),然后在同一行调用 NSString 类中的属性 doubleValue

var myString = "123"

var myDouble = NSNumberFormatter().numberFromString(myString)!.doubleValue

有人可以通过与上述代码类似的快速示例来帮助我理解这个概念。

谢谢

【问题讨论】:

  • NSNumberFormatter 的实例方法 numberFromString 将返回 NSNumber ,并且您正在访问它的公共 doubleValue 属性。这就是正在发生的事情。您应该记住的重要一点是 numberFromString 实际上返回一个可选的(NSNumber?),因为不是每个字符串都可以转换为数字。因此,在您的情况下,如果传递“1a345”之类的内容,应用程序将崩溃。你不应该像那样使用强制展开。
  • 非常感谢您指出这一点。

标签: swift nsstring nsnumberformatter method-chaining


【解决方案1】:

在这种情况下,doubleValue 是在 NSNumber 的实例上调用的,numberFromString: 方法的返回类型为 NSNumberFormatterNSString 也有同样的属性。

var myString = "123"

var myNumber = NSNumberFormatter().numberFromString(myString)!

var myDouble = myNumber.doubleValue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 2011-04-23
    • 1970-01-01
    相关资源
    最近更新 更多