Ich möchte eine Framework-Klasse erweitern (Ich möchte den Quellcode nicht direkt bearbeiten), und es zu NSCoding
konform machen.Hinzufügen von NSCoding als Erweiterung
Grundsätzlich ist hier eine Vereinfachung der Situation in der ich bin:
/* Can't be edited. */
class Car: NSObject {
var color: String?
}
/* Can be edited */
extension Car: NSCoding {
init(coder aDecoder: NSCoder) {
}
func encodeWithCoder(aCoder: NSCoder) {
}
}
Das Problem wird init(coder aDecoder: NSCoder)
ist, gemäß der Header-Datei, ein designated initializer
(obwohl das nicht seltsam ist, sollte nicht es ist ein convenience initializer
?). Die Erweiterung "documentation" kann jedoch keinen neuen designierten Initialisierer hinzufügen.
Mein Englisch ist nicht perfekt und vielleicht habe ich etwas verpasst ... Oder ist es wirklich unmöglich?