मैं एक ढांचा वर्ग (का विस्तार करना चाहता हूं, मैं स्रोत कोड को सीधे संपादित करना नहीं चाहता), और इसे NSCoding
के अनुरूप बना देता हूं।एक्सटेंशन के रूप में एनएससीओडी जोड़ना
मूल रूप से, यहां स्थिति मैं तैयार हूं का सरलीकरण है:?
/* Can't be edited. */
class Car: NSObject {
var color: String?
}
/* Can be edited */
extension Car: NSCoding {
init(coder aDecoder: NSCoder) {
}
func encodeWithCoder(aCoder: NSCoder) {
}
}
मुद्दा है init(coder aDecoder: NSCoder)
प्रति हेडर फाइल के रूप में, एक designated initializer
(हालांकि यह अजीब नहीं है नहीं करना चाहिए यह convenience initializer
है?)। हालांकि, documentation का कहना है कि एक्सटेंशन एक नया नामित प्रारंभकर्ता नहीं जोड़ सकता है।
मेरी अंग्रेजी सही नहीं है और शायद मुझे कुछ याद आया ... या यह वास्तव में असंभव है?