サーバーからのデータを含む配列があります。サーバーの応答を変更できません。
{
maximum = 30;
minimum = 1;
name = "Layer 1";
},
{
maximum = 60;
minimum = 45;
name = "Layer 1";
},
{
maximum = 60;
minimum = 45;
name = "Layer 2";
}
この配列には 3 つのオブジェクトがあります。そのうちの 2 つは同じ名前ですが、最小値と最大値が異なります。重複しない配列を作成したいので、たとえば、配列に「レイヤー1」、「レイヤー2」の2つのオブジェクトがあります。レイヤ 1 には 2 つの最小値と最大値があります。
どのように見えるか:
{
name = "Layer 1"; value = [{maximum = 30;
minimum = 1},{ maximum = 60;
minimum = 45}];
},
{
maximum = 60;
minimum = 45;
name = "Layer 2";
}
インデックス「i」のオブジェクトの「名前」がインデックス「i + 1」のオブジェクトの「名前」と等しいかどうかを確認しようとしましたが、クラッシュし、「境界を超えています(2):
rows = [mivne_shichva count];
NSMutableArray *layers = [[NSMutableArray alloc]init];
NSMutableDictionary *layer = [[NSMutableDictionary alloc]init];
for (int i = 0; i<rows; i++) {
if ([[[mivne_shichva objectAtIndex:i]valueForKey:@"name"] isEqualToString:[[mivne_shichva objectAtIndex:i+1]valueForKey:@"name"]]) {
NSLog(@"name equals to name in i+1");
}
[layer setValue:[[mivne_shichva objectAtIndex:i]valueForKey:@"name"] forKey:@"name"];
[layer setValue:[[mivne_shichva objectAtIndex:i]valueForKey:@"minimum"] forKey:@"minimum"];
[layer setValue:[[mivne_shichva objectAtIndex:i]valueForKey:@"maximum"] forKey:@"maximum"];
[layers addObject:layer];
NSLog(@"layers :::: %@",layers);
}