Idealerweise funktioniert eine NSCoding-konforme Klasse wie erwartet mit encodeWithCoder: und initWithCoder: (zumindest dachte ich das bis vor kurzem), ohne dass der Entwickler sich Gedanken darüber machen müsste, was in den Routinen vor sich geht (es sei denn, meine Idee einer NSCoding-konformen Klasse ist vollkommen) vermasselt!)iPhone - Warum heißt es in der Dokumentation, dass UIImageView mit NSCoding kompatibel ist?
Die UIImageView-Klasse ist NSCoding-konform. Ich sollte mich also nicht darum kümmern müssen, wie es mit den Klassen NSKeyedArchiver und NSKeyedUnarchiver serialisiert/de-serialisiert wird. Aber jedes Mal, wenn ich versuche, ein UIImageView-Objekt zu codieren, erhalte ich den Fehler, dass UIImage die Methode encodeWithCoder: method nicht erkennt.
Jetzt verwendet das UIImageView intern ein UIImage-Objekt. Aber sollte sich die Verschlüsselung nicht selbst darum kümmern?
Oder ist die NSCoding-Kompatibilität in der Dokumentation angegeben, damit der Benutzer einfach weiß, dass er die Methoden initWithCoder und encodeWithCoder implementieren kann?
Kann jemand bitte dies für mich klären! Ich bin völlig verwirrt!
Danke, das mache ich schon. Ich frage mich nur (wirklich schimpfend), warum Apple die Entwickler irreführen würde! Das gleiche gilt für die 3.0-Methode, die in der neuen Methode in UIImagePickerController in den Dokumenten keine Erwähnung findet. – lostInTransit
Dokumentieren Sie auf jeden Fall einen Dokumentationsfehler in Radar (und fügen Sie ihn auch zu OpenRadar hinzu, damit andere den Fortschritt verfolgen können). –
Danke Nathan de Vries. Ihre Antwort hilft mir sehr im Umgang mit CoreData! –