क्या कोई इस त्रुटि को समझा सकता है और यह बंद होने के साथ क्यों काम करता है?प्रोटोकॉल विधि के आंशिक अनुप्रयोग की अनुमति नहीं है
यदि आप 'बी' कक्षा में 'ए' को 'ए' में बदलते हैं तो सब कुछ दोनों मामलों में काम करता है।
बीटा 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
}
}
अद्यतन
इसके अलावा यहाँ मेरी अजीब विभाजन गलती संग्रह है https://gist.github.com/aleksgapp/795a2d428008bdfa4823
अगर आप किसी के बारे में कुछ विचार किया है टिप्पणी करने के लिए संकोच न करें।
चूंकि एक्सकोड 7 बीटा 2 यह काम कर रहा है –