2012-08-14 2 views
6

NSCoding 및 복호화 값을 사용할 때 주어진 키에 값이 존재하는지 확인하는 방법이 있습니까? 즉, 난 할 노력하고있어NSCoding으로 디코딩 : 키에 값이 있습니까?

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

문제는 내가 "의 mykey"값이없는 내 응용 프로그램에서 문서의 이전 버전을 가지고있다, 그들은 돈 경우입니다 ... 그것을 가지고 있지 않습니다. myInt에 0을 사용합니다. 존재하지 않는 키를 디코딩하면 어떻게됩니까? 내가 원하는 동작이 아닙니다. 그러나 값이 합법적으로 0 일 수 있기 때문에 myInt == 0인지 디코딩하고 검사 할 수 없습니다.

valueExistsForKey 메서드가 존재하지 않는 것처럼 보이므로이 동작을 어떻게 복제 할 수 있습니까?

답변

15

어때 대략 containsValueForKey?

+0

Derp. 고마워. 하하. 내가 뭔가를 놓쳤다는 것을 알았어. 내가 원했던 기능이 꽤 표준적인 기능이라고 생각 했어. – MikeS

관련 문제