में एनएस डिक्शनरी के प्रारंभकर्ता को ओवरराइड नहीं कर सकता है मैं स्विफ्ट में कक्षा एनएस डिक्शनरी को एनआईटीडी() पर स्थापित एनएसडीएट रखने के लिए प्रयास कर रहा हूं। जब मैं अपने कस्टम init() जोड़ने के लिए, मैं संकलक त्रुटि मिलती है:स्विफ्ट
'required' initializer 'init(dictionaryLiteral:)' must be provided by subclass of 'NSDictionary'
हालांकि, जब मुझे लगता है कि प्रारंभकर्ता स्वत: पूर्ण का उपयोग कर जोड़ने के लिए, मैं निम्नलिखित त्रुटि मिलती है:
Declarations from extensions cannot be overridden yet
वहाँ किसी भी है NSDictionary के प्रारंभकर्ता को ओवरराइड करने का तरीका या स्विफ्ट कर सकते हैं अभी तक इसे संभाल नहीं सकते?
यहाँ मेरी कक्षा है:
class DateParam : NSDictionary {
let date : NSDate
init(date: NSDate) {
super.init()
self.date = date
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
required convenience init(dictionaryLiteral elements: (NSCopying, AnyObject)...) {
fatalError("init(dictionaryLiteral:) has not been implemented")
}
}
तो मुझे लगता है कि यह स्विफ्ट में NSDictionary के लिए प्रारंभकर्ता ओवरराइड करने के लिए संभव अभी तक नहीं है। शिकायतकर्ता के लिए आवश्यक है कि आप 'init (dictionaryLiteral :)' को ओवरराइड करें लेकिन साथ ही इसे अनुमति नहीं देता है। मुझे उम्मीद है कि स्विफ्ट जल्द ही क्षमता को जोड़ देगा। – Mel
ऐप्पल लापरवाही! –
अभी भी ** नहीं ** स्विफ्ट 4 के साथ तय किया गया है। –