einen Absturz von NSKeyedArchiver ErsteSwift 3 - NSCoding ohne Ärger von NSObject erbt
2016-10-06 17:06:06.713 MessagesExtension[24473:2175316] *** NSForwarding:
warning: object 0x61800009d740 of class '' does not implement
methodSignatureForSelector: -- trouble ahead
Unrecognized selector -[MessagesExtension.Model replacementObjectForKeyedArchiver:]
ich ein Protokoll erstellt haben genannt Codierung, die ganze Zweck ist, ist zu vereinfachen NSCoding und NSKeyedArchiver ohne die Notwendigkeit, Teile von Objective-C zu verwenden.
Dieses Protokoll und diese Erweiterung sollen NSCoding vereinfachen und ermöglichen, dass das Protokoll auf Struts verwendet wird. Dennoch renne ich in den Absturz oben, wenn ich versuche, das Objekt zu speichern.
Genauer gesagt, erhalte ich, dass Crash auf der Rückleitung von
func save(to path: String) -> Bool {
guard let url = Self.directoryURL else { return false }
return NSKeyedArchiver.archiveRootObject(self.encode() as NSDictionary, toFile: url + path)
}
Ich habe das Gefühl, es hat etwas mit NSDictionary zu tun hat, aber ich bin nicht sicher, wie es weitergeht.
Irgendwelche Vorschläge ??
Sie könnten versuchen, Ihre Klasse implementieren alle Funktionen unter "Archivierung" in https://developer.apple.com/reference/objectivec/nsobject aber wirklich, 'NSCoding' ist eng an' NSObject' gekoppelt – Paulw11
Warum ist NSObject fehlerhaft? – matt
Ziel ist es, Strukturen zu archivieren. Das ist nicht möglich, wenn Sie _NSObject_ verwenden müssen. –