2012-08-14 12 views
6

Quando si utilizzano valori NSCoding e decodifica, esiste un modo per stabilire se esiste un valore per una determinata chiave? In altre parole, quello che sto cercando di fare è ...Decodifica con NSCoding: il valore esiste per chiave?

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

Il problema è che ho vecchie versioni dei documenti in mio app che non hanno il valore "myKey", e se don ce l'ho, usando 0 per myInt (cosa succede se decodificate una chiave inesistente) non è il comportamento che voglio. Tuttavia, non posso solo decodificare e verificare if myInt == 0, perché potrebbe essere legittimamente uguale a 0.

Poiché il metodo valueExistsForKey non sembra esistere, come posso replicare questo comportamento?

risposta

15

Che ne dici di containsValueForKey?

+0

Derp. Grazie haha Sapevo che mi mancava qualcosa, sembrava che la funzionalità che volevo fosse una funzionalità abbastanza standard ... – MikeS

Problemi correlati