这是来自用于Swift的Dollar框架的函数:
public class func bind<T, E>(function: (T...) -> E, _ parameters: T...) -> (() -> E) {
return { () -> E in
typealias TType = (T...)
return function(unsafeBitCast(parameters, TType.self))
}
}
在与typealias
我一致的Cannot create a variadic tuple
错误。当我移除括号时,T...
我会收到Consecutive statements on a line must be separated by ';'
错误消息。因此,这不是解决方案。
有谁知道解决该错误的方法?
自从(真正)今天发布的XCode 6 Beta 6开始发生这种情况。
现在在Dollar项目中已解决此问题。但是对于在另一个项目中遇到此问题的人,解决此问题的方法是对函数本身执行unsafeBitCast,这样可以解决编译问题。
typealias Function = [T] -> E
let f = unsafeBitCast(function, Function.self)
f(params)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句