Удаление повторяющегося значения из Nsmutablearray+iphone

Мой отредактированный вопрос: - Я скопировал массив. Но проблема в том, что когда выполняется строка ниже [mainRestaurantArray removeObjectAtIndex:j]; индекс mainRestaurantArray уменьшается. И это не позволит удалить правильное индексированное значение

, поскольку оно показывает ошибку выхода индекса за пределы. Потому что общий индекс массиваRestaurantList -31 и общий индекс mainRestaurantArray-25 (после удаления повторяющегося значения).

if([arrayRestaurantList count]==[mainRestaurantArray count]){
    BtnMore.hidden=YES;
    TablView.frame=CGRectMake(0,57, 320, 360);
    }   else{
    [mainRestaurantArray removeAllObjects];
    mainRestaurantArray=[[NSMutableArray arrayWithArray:arrayRestaurantList] retain];
    if ([arrayRestaurantList count]>10) {
        for (int i=0;i<[arrayRestaurantList count]-10;i++) {
            NSString *Old_data;
            Old_data=[[arrayRestaurantList objectAtIndex:i] objectForKey:@"Name"];
            NSLog(@"olddata==>%@",Old_data);
            for (int j=[arrayRestaurantList count]-10;j<[arrayRestaurantList count];j++) {              
                NSString *New_data;             
                New_data=[[arrayRestaurantList objectAtIndex:j] objectForKey:@"Name"];
                NSLog(@"olddata==>%@ newdata==>%@",Old_data,New_data);
                if ([New_data isEqualToString:Old_data]) {
                    //BtnMore.hidden=YES;                   
                    [mainRestaurantArray removeObjectAtIndex:j];

                }
            }
        }
    }
    }

У меня есть NSMutableArray( mainRestaurantArray), который заполняется данными, поступающими в качестве ответа от веб-службы.

Данные в mainRestaurantArrayвыглядят следующим образом: -

{
    Address = "Ellisbridge Opposite Parimal Garden Near Doctor House Ahmedabad Gujarat 380006 India (Collegian Restaurant)";
    Image = "";
    Latitude = "23.020119999999999";
    Longitude = "72.556343999999996";
    Name = "Collegian Restaurant";
    "Phone_Number" = "079 26401020";
    url = "";
}
{
    Address = "Ground Floor Aakash Ganga Ellisbridge B/H Gujrat College : Next To Art Palace Ellisbridge Ahmedabad Gujarat 380006 India (TC's Bread Shop)";
    Image = "";
    Latitude = "23.023137999999999";
    Longitude = "72.560096000000001";
    Name = "TC's Bread Shop";
    "Phone_Number" = "079 26568158";
    url = "";
}
{
    Address = "Center Point Panchwati Crossing C G Road Ahmedabad Gujarat 380009 India (Kings Food Factory)";
    Image = "";
    Latitude = "23.022670000000002";
    Longitude = "72.555651999999995";
    Name = "Kings Food Factory";
    "Phone_Number" = "079 4002 1122";
    url = "http://www.kingsfoodfactory.com";
}

т.е. в словарной форме. Иногда случается, что данные повторяются. Поэтому я хочу их удалить. Я написал код, как показано ниже:

if ([mainRestaurantArray count]>10) {
        for (int i=0;i<[mainRestaurantArray count]-10;i++) {
            NSString *Old_data;
            Old_data=[[mainRestaurantArray objectAtIndex:i] objectForKey:@"Name"];
            NSLog(@"olddata==>%@",Old_data);
            for (int j=[mainRestaurantArray count]-10;j<[mainRestaurantArray count];j++) {              
                NSString *New_data;             
                New_data=[[mainRestaurantArray objectAtIndex:j] objectForKey:@"Name"];
                NSLog(@"olddata==>%@ newdata==>%@",Old_data,New_data);
                if ([New_data isEqualToString:Old_data]) {
                    BtnMore.hidden=YES;
                    TablView.frame=CGRectMake(0,57, 320, 360);
                    [mainRestaurantArray removeObjectAtIndex:j];

                }
            }
        }
    }

Но проблема в этом коде заключается в том, что когда я удаляю значение, ссылка теряется. Итак, приложение вылетает из строя. Может ли кто-нибудь помочь мне, как удалить данные

Заранее спасибо...

0
задан ios developer 13 April 2012 в 06:02
поделиться