2012-08-14 10 views
6

Czy przy użyciu wartości NSCode i dekodowania istnieje sposób sprawdzenia, czy dla danego klucza istnieje wartość? Innymi słowy, co próbuję zrobić, to ...Dekodowanie z NSCoding: czy wartość istnieje dla klucza?

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

Problem jest, że mam stare wersje dokumentów w mojej aplikacji, które nie mają „MyKey” wartość, a jeśli don Nie ma takiego zachowania, użycie 0 dla myInt (co się stanie, jeśli zdekodujesz nieistniejący klucz). Jednak nie mogę po prostu odszyfrować i sprawdzić, czy myInt == 0, ponieważ może on być zgodny z 0.

Ponieważ wydaje się, że metoda valueExistsForKey nie istnieje, jak mogę zreplikować to zachowanie?

Odpowiedz

15

Co powiecie na containsValueForKey?

+0

Derp. Dzięki haha. Wiedziałem, że czegoś mi brakuje, wydawało się, że potrzebna mi funkcjonalność to dość standardowa funkcjonalność ... – MikeS

Powiązane problemy