मुझे आश्चर्य है कि ऐसी चीज हासिल करना संभव है या नहीं।नियमित विधि से कॉलिंग प्रोटोकॉल डिफ़ॉल्ट कार्यान्वयन
protocol Foo {
func testPrint()
}
extension Foo {
func testPrint() {
print("Protocol extension call")
}
}
struct Bar: Foo {
func testPrint() {
// Calling self or super go call default implementation
self.testPrint()
print("Call from struct")
}
}
let sth = Bar()
sth.testPrint()
मैं extension
में एक डिफ़ॉल्ट कार्यान्वयन प्रदान कर सकते हैं, लेकिन क्या हुआ अगर Bar
सब कुछ डिफ़ॉल्ट कार्यान्वयन के साथ साथ अतिरिक्त बातों में है कि जरूरत:
मैं इस तरह एक खेल का मैदान है?
यह किसी भी तरह super.
विधियों को class
es में प्रत्येक संपत्ति को लागू करने की आवश्यकता को पूरा करने के लिए कॉल करने जैसा है। लेकिन मुझे structs
के साथ इसे प्राप्त करने की कोई संभावना नहीं है।
मैं का प्रयोग करेंगे 'Foo.testPrint (स्वयं)()' - समस्या यह है कि यह एक विभाजन के कारण विफल रहता है गलती (7.0 जीएम और 7.1 बीटा दोनों पर परीक्षण) – Antonio
यह एक अजीब construc है टियर आपने – cojoj
प्रस्तुत किया है प्रत्येक इंस्टेंस विधि एक स्थिर घुमावदार विधि है जिसका उदाहरण पहला पैरामीटर – Antonio