allItems
NSMutableArray
ユーザーがプラスボタンをクリックすると、メソッドがcreateItem
呼び出されます。BNRItem
偶数のインデックスごとに(クラスの) オブジェクトのみを追加しようとしているのでNSNull
、奇数のインデックスのインスタンスを入れてみました。
-(BNRItem *)createItem {
BNRItem *p = [[BNRItem alloc] init];
if ([allItems count] == 0)
[allItems addObject: p];
else {
[allItems addObject: [NSNull null]];
[allItems addObject: p];
}
return p;
}
プラスボタンを3回クリックした後の出力は次のとおりです。
2012-09-03 13:20:13.876 Homepwner[718:f803] Index: 0 item: Laptop (123): Worth $60, recorded on (September)
2012-09-03 13:20:13.876 Homepwner[718:f803] Index: 1 item: <null>
2012-09-03 13:20:13.877 Homepwner[718:f803] Index: 2 item: Brush (234): Worth $14, recorded on (September)
2012-09-03 13:20:13.882 Homepwner[718:f803] Index: 1 item: <null>
2012-09-03 13:20:13.882 Homepwner[718:f803] Index: 4 item: Calculator (345): Worth $19, recorded on (September)
プラス ボタンをクリックし続けると、<null>
オブジェクトは 3、5 などに増加するのではなく、常にインデックス 1 のままです。どうしてこうなったのか、どうしたら直せるのか、考えてみました。