使用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方法似乎不存在,我该如何复制此行为?