Swift-奇怪的方法签名语法
我无法理解我在使用开源框架时最后遇到的以下方法签名:Swift-奇怪的方法签名语法,swift,Swift,我无法理解我在使用开源框架时最后遇到的以下方法签名: public func myFunc<A: TypeOfA, B: TypeOfB, C: TypeOfC> (someA: A) -> (someB: B) -> ReturnedType { // BODY OF THE FUNC } public func myFunc (A:A) ->(B:B) ->返回类型{ //函数体 } 为什么有两个返回箭头“->”?有人知道我在哪里可以
public func myFunc<A: TypeOfA, B: TypeOfB, C: TypeOfC>
(someA: A)
-> (someB: B)
-> ReturnedType {
// BODY OF THE FUNC
}
public func myFunc
(A:A)
->(B:B)
->返回类型{
//函数体
}
为什么有两个返回箭头“->”?有人知道我在哪里可以得到更多关于这个语法的信息吗?在苹果公司的Swift文件里找到什么了吗
我说的不是泛型,而是参数的声明方式
是的,这在xcode 7.3中编译得很好
谢谢函数接受一个参数,
someA:A
,然后返回另一个函数
它返回的函数接受someB:B
并返回ReturnedType
这相当于:
public func myFunc<...>(someA: A) -> ((someB: B) -> ReturnedType) {
...
}
public func myFunc(someA:A)->((someB:B)->ReturnedType){
...
}
或
typealias SecondFunction=(someB:B)->ReturnedType
公共函数myFunc(someA:A)->SecondFunction{
...
}
typealias SecondFunction = (someB: B) -> ReturnedType
public func myFunc<...>(someA: A) -> SecondFunction {
...
}