Есть ли способ определить, существует ли значение для данного ключа при использовании значений NSCoding и декодирования? Другими словами, я пытаюсь сделать...
if([decoder valueExistsForKey:@"myKey"]) //valueExistsForKey is not a real method :(
{
NSInteger *myInt = [decoder decodeValueForKey:@"myKey"];
}
else
{
//handle special case
}
Проблема в том, что у меня есть старые версии документов в моем приложении, которые не имеют значения «myKey», и если они не имеют его, используя 0 для myInt (, что произойдет, если вы декодируете несуществующий ключ )не то поведение, которое я хочу. Однако я не могу просто декодировать и проверить, соответствует ли myInt == 0, потому что оно вполне может быть равно 0.
Поскольку метод valueExistsForKey, похоже, не существует, как воспроизвести это поведение?