微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift中闭包参数的语法是什么?

Swift文件中,isSeparator:参数接受一个闭包

public func split(maxSplit: Int = default,allowEmptySlices: Bool = default,@noescape isSeparator: (Self.Generator.Element) throws -> Bool) rethrows -> [Self.SubSequence]

但是在documentation中,它以不同的方式列出了闭包语法

{ (parameters) -> return type in
    statements
}

你怎么知道(Self.Generator.Element)抛出 – > Bool rethrows是指一个闭包/需要一个闭包?是否还有其他方式,标题/文档可能会将参数列为闭包?

解决方法

赠送这个封闭的“东西”是 – >.完整的类型是

(Self.Generator.Element) throws -> Bool

这意味着闭包采用Self.Generator.Element类型的变量,并且必须在基于输入的某些计算时返回Bool.这样做可能会产生一些错误 – 这就是投掷的目的.

你写的是什么

{ (parameters) -> return type in
    statements
}

将是一个实际的实现,一些通用闭包类型的值.

闭包的类型是例如(someInt:Int,someDouble:Double) – >串:

var a : ((someInt:Int,someDouble:Double) -> String)

再一次,赠送a实际上是封闭的东西是 – >在类型声明中.

然后你在第二个代码块之后通过一些代码片段分配一些内容

a = { (integer,floating) -> String in
    return "\(integer) \(floating)"
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐