一部のサンプルコードでは、NSNumber
が可変配列に追加されています。
// In the .h, as an instance variable:
NSMutableArray *sequence;
// In the .m file:
sequence = [[NSMutableArray alloc] initWithCapacity:100];
[sequence addObject:[NSNumber numberWithInt:123]];
その後、整数が必要になると、次のものが使用されます。
[(NSNumber *)[sequence objectAtIndex:aCounter] intValue]
なぜキャスト(NSNumber *)
が必要なのかしら?プログラムはそれがなくても正常に実行されるためです。それはただの良い習慣ですか?もしそうなら、それは何が起こるのを防ぐことができますか?1つの要素がではないバグがある場合NSNumber *
、それをキャストすると奇妙な動作も発生する可能性があります。