8

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 メソッドが存在しないように見えるため、この動作を再現するにはどうすればよいですか?

4

1 に答える 1

18

どうcontainsValueForKeyですか?

于 2012-08-14T17:40:00.280 に答える