有人可以解释这个错误,为什么这与闭包工作?协议方法的部分应用不允许
如果您在'B'类中将'测试'更改为'A',则在两种情况下都可以使用。
公测7
protocol Test {
func someFunc() -> String
var someClosure:() -> Int { get }
}
class A: Test {
func someFunc() -> String {
return "A String"
}
var someClosure:() -> Int {
return {
return 2
}
}
}
class B {
let a: Test
let aString:() -> String
let aInt:() -> Int
init(a: Test){
self.a = a
aString = a.someFunc // Error: Partial application of protocol method is not allowed
aInt = a.someClosure // Works fine
}
}
UPDATE
而且,这里是我的奇怪的分段错误收集https://gist.github.com/aleksgapp/795a2d428008bdfa4823
不要犹豫,如果你有任何的一些想法进行评论。
由于Xcode7 beta 2这是工作 – 2015-07-07 08:13:57