2012-08-14 11 views
6

Gibt es bei Verwendung von NSCoding- und Decoding-Werten eine Möglichkeit, festzustellen, ob für einen bestimmten Schlüssel ein Wert vorhanden ist? Mit anderen Worten, zu tun, was ich versuche ...Decodierung mit NSCoding: Gibt es einen Wert für den Schlüssel?

if([decoder valueExistsForKey:@"myKey"]) //valueExistsForKey is not a real method :(
{ 
    NSInteger *myInt = [decoder decodeValueForKey:@"myKey"]; 
} 
else 
{ 
    //handle special case 
} 

Das Problem ist, dass ich alte Versionen von Dokumenten in meiner app, die nicht den „myKey“ Wert hat, und wenn sie don Ich habe es nicht, mit 0 für myInt (was passiert, wenn Sie einen nicht vorhandenen Schlüssel dekodieren) ist nicht das Verhalten, das ich will. Ich kann jedoch nicht nur dekodieren und überprüfen, ob myInt == 0, weil es möglicherweise gleich 0 sein kann.

Da die Methode valueExistsForKey nicht zu existieren scheint, wie kann ich dieses Verhalten replizieren?

Antwort

15

Wie wäre es mit containsValueForKey?

+0

Derp. Danke haha. Ich wusste, dass ich etwas vermisste, es schien, als ob die Funktionalität, die ich wollte, ziemlich Standardfunktionalität war ... – MikeS

Verwandte Themen