Ich versuche, ein Objekt von First_view_controller in Second_view_controller mithilfe von State Restaurierung und Konservierung Technik ohne Storyboards zu speichern, aber meine App stürzt mit nicht erkannte Selektor-Instanz Fehler. Ich habe versucht, NSString-Objekt zu erhalten, es funktioniert gut, aber wenn ich versuche, ein Objekt zu erhalten, kann ich nur den Fehler sehen. Vielleicht mache ich es nicht richtig, bitte hilf mir. Vielen Dank im Voraus.Wiederherstellen von Objekten im Status Preservation- Objective c
Antwort
Während benutzerdefinierte Objekt verwenden, sollten Sie Protokoll NSCoding implementieren, die Methoden als belows haben:
-(void)encodeWithCoder:(NSCoder *)encoder{
[encoder encodeObject:self.state forKey:@"viewState"];
}
- (id)initWithCoder:(NSCoder *)decoder {
if (self = [super init]) {
self.state = [decoder decodeObjectForKey:@"viewState"];
}
return self;
}
wenn ich nicht falsch bin können Sie diese Methoden in Ihrer Implementierung verpasst.
Und für diese Klasse Objektcode Einsparung folgt:
NSArray *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *file = [documentPath stringByAppendingPathComponent:@"ObjectStateContent.txt"];
NSMutableArray *arr=[NSMutableArray array];
[arr addObject:self.stateObject];
[NSKeyedArchiver arr toFile:file];
//And for unarchive object
NSMutableArray* myArray = [NSKeyedUnarchiver unarchiveObjectWithFile:file];
Sie ganz klar auf Speichern benutzerdefinierte Objekt in Datei oder einem anderen Speicherzustand ist, dass „kann in Form von String oder json usw. gespeichert Objekt sein sollte ., Objekt selbst kann nicht persistent sein ".
Vielen Dank für die Unterstützung – User
@User, wenn diese Lösung für Sie arbeitet, dann fordern Sie bitte diese Antwort zu akzeptieren, damit andere davon bewusst werden. – SachinVsSachin
- 1. Memory Management: Freigeben von benutzerdefinierten Objekten im Konstruktor - Objective-C
- 2. Gruppierung von benutzerdefinierten Objekten in Objective-C
- 3. Speichern UISwitch Status - Objective C
- 4. Objective C Zwei-Phasen-Konstruktion von Objekten
- 5. Wiederherstellen OpenGL-Status
- 6. Wie BottomNavigationView Status wiederherstellen?
- 7. DBObject: Löschen und Wiederherstellen von Objekten
- 8. TopoJSON Eigenschaften Preservation
- 9. eine Reihe von Objective-c Sortieren von Objekten
- 10. IOS/Objective-C: Such-String-Element mit Array von Objekten
- 11. Erstellen eines Arrays von Objekten in Objective-C.
- 12. Reagieren Routing und Wiederherstellen Status
- 13. Speichern und Wiederherstellen Fragment-Status
- 14. Hinzufügen von Objekten zu einem Objective C-Array bei Index
- 15. Objective-C Entfernen von Objekten aus NSArray mit Indexpfad
- 16. Speichern und Wiederherstellen eines TreeView-Status in C#
- 17. Objective-C Freisetzung von Singletons
- 18. Port von Corebluetooth von Objective C zu Objective C++
- 19. Wiederherstellen einer Datenbank von C#
- 20. Mischen von C++ und Objective C
- 21. Wie in Objective-C
- 22. objective-c: sort NSMutableArray von OBJECT_IN_ARRAY.NSNUMBER!
- 23. Alternative zu Objective-C-Objekten in structs (ARC)
- 24. Ist Objective-C++ eine Obermenge von C++ und Objective-C?
- 25. Objective C++: Call Objective C-Methode von C++
- 26. Objective-C-Funktionen Rückgabetypen
- 27. Objective C NSDictionary von NSString
- 28. Objective-C NSMutableArray - foreach Schleife mit Objekten aus mehreren Klassen
- 29. Wie wird ein zweidimensionales C-Array von Objective-C-Objekten verwendet?
- 30. Shop Bild im Cache Objective c
Können Sie den genauen Fehler und den entsprechenden Code posten? – Willeke
Problem behoben Ich habe versucht, mein benutzerdefiniertes Objekt zu speichern. – User