sortedArray には、「時間」キーの「時間」で整理する必要がある 100 以上のオブジェクトが含まれています。結果として、テーブルのセクションにデータを入力し、インデックスに時間を使用するための配列の配列が作成されます。「時間」の形式は - 2012-05-15 07:20:00
NSInteger d = 0;
NSInteger prevd;
NSMutableArray *tempArray = [[NSMutableArray alloc] init];
detailArray = [[NSMutableArray alloc] init];
for (NSInteger i = 0; i < 24; ++i)
[detailArray addObject:[NSNull null]];
for (NSArray *item in sortedArray) {
prevd = d;
d = [[[[item objectAtIndex:0] objectForKey:@"time"] substringWithRange:NSMakeRange(11, 2)] intValue];
if (d > prevd && prevd != 0) {
[detailArray replaceObjectAtIndex:d withObject:tempArray];
[tempArray removeAllObjects];
}
[tempArray addObject:item];
}
オブジェクトが、detailArray の正しい位置に配置されていないか、まったく配置されていません。たとえば、[detailArray objectAtIndex:6]
時間 14 (午後 2 時) の項目を指定します。
私は何が欠けていますか?
最初の回答でコードを修正するように編集します。それは今です:
NSInteger d = 0;
NSInteger prevd;
NSMutableArray *tempArray = nil;
detailArray = [[NSMutableArray alloc] init];
for (NSInteger i = 0; i < 24; ++i)
[detailArray addObject:[NSNull null]];
for (NSArray *item in sortedArray) {
prevd = d;
d = [[[[item objectAtIndex:0] objectForKey:@"time"] substringWithRange:NSMakeRange(11, 2)] intValue];
if (d > prevd) {
tempArray = NSMutableArray array];
[detailArray replaceObjectAtIndex:d withObject:tempArray];
}
[tempArray addObject:item];
}