Hallo,
ich speichere ein Objekt einer eigenen Klasse in den UserDefaults. Dazu verwende ich NSKeyedArchiver und implementiere eine encodeWithCoder:-Methode. Nach dem Start (bzw. wenn ich es brauche), hole ich mir die Daten aus den UserDefaults und verwende NSKeyedUnarchiver um alles wieder zurück zu schubsen.
Nun passiert folgendes (ist jetzt kein Feldtest):
- Auf dem iPhone 4 mit iOS 4.3.2 wird die initWithCoder:-Methode sauber angesprungen. Jedenfalls hält der Breakpoint dort brav an.
- Auf dem iPod touch 3G mit iOS 4.2.1 wird beim Unarchivieren weder die init:- noch die initWithCoder:-Methode angesprungen. Das Ergebnis des Auspackens ist dann natürlich auch Null (oder nil).
So recht kann ich mir das nicht erklären, denn die besagten Mechanismen sind laut Doku seit iOS 2.0 verfügbar.
Woran mag das liegen?!
ich speichere ein Objekt einer eigenen Klasse in den UserDefaults. Dazu verwende ich NSKeyedArchiver und implementiere eine encodeWithCoder:-Methode. Nach dem Start (bzw. wenn ich es brauche), hole ich mir die Daten aus den UserDefaults und verwende NSKeyedUnarchiver um alles wieder zurück zu schubsen.
Nun passiert folgendes (ist jetzt kein Feldtest):
- Auf dem iPhone 4 mit iOS 4.3.2 wird die initWithCoder:-Methode sauber angesprungen. Jedenfalls hält der Breakpoint dort brav an.
- Auf dem iPod touch 3G mit iOS 4.2.1 wird beim Unarchivieren weder die init:- noch die initWithCoder:-Methode angesprungen. Das Ergebnis des Auspackens ist dann natürlich auch Null (oder nil).
So recht kann ich mir das nicht erklären, denn die besagten Mechanismen sind laut Doku seit iOS 2.0 verfügbar.
Woran mag das liegen?!