次のように要素が挿入された NSMutable 配列があります。
[availableSeatsArray addObject:[NSString stringWithString:num_available]];
ゼロ以下の値を持つ配列内の要素を削除したい。int 値と string 値を使用して要素の値を確認しようとしましたが、常に「0」要素のケースを渡します。以下の前後のアレイのコンソール出力。
for (int i=0;i<[availableSeatsArray count]; i++) {
if ([[availableSeatsArray objectAtIndex:i] intValue] <= 0 || ([[availableSeatsArray objectAtIndex:i] isEqualToString:@"0"])) {
NSLog(@"Removed index: %d", [[availableSeatsArray objectAtIndex:i] intValue]);
[availableSeatsArray removeObjectAtIndex:i];
}
}
コンソール出力:
Available array: (
"-2",
10,
5,
"-5",
0,
10,
10,
)
2012-08-14 11:13:28:002 -[dmbAddReservation viewWillAppear:] [Line 1074] Removed index: -2
2012-08-14 11:13:28:004 -[dmbAddReservation viewWillAppear:] [Line 1074] Removed index: -5
2012-08-14 11:13:28:006 -[dmbAddReservation viewWillAppear:] [Line 1083] Available array: (
10,
5,
0, // I cannot explain why this element was not removed
10,
10,
)