2012-08-14 71 views
6

当使用NSCoding和解码值时,有没有办法判断给定密钥是否存在值?换句话说,我想要做的是...使用NSCoding进行解码:键值是否存在?

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

的问题是,我有我的应用程序文件不具备“的myKey”数值旧版本,如果他们不没有它,使用0 for myInt(如果解码不存在的键会发生什么)不是我想要的行为。然而,我不能解码并检查myInt == 0,因为它可能合法等于0.

由于valueExistsForKey方法似乎并不存在,我该如何复制此行为?

回答

15

containsValueForKey怎么样?

+0

Derp。谢谢哈哈。我知道我错过了一些东西,似乎我想要的功能是非常标准的功能...... – MikeS 2012-08-14 17:42:04

相关问题