У меня есть NSMutableArray, данные которого находятся в формате словаря, например:
(
{
subject = “Maths";
rollNo = "#1";
division = A;
},
{
subject = “Science”;
rollNo = “#2”;
division = A;
},
{
subject = “Maths";
rollNo = “#3”;
division = A;
},
{
subject = “Maths";
rollNo = “#4”;
division = B;
},
{
subject = “Science”;
rollNo = “#5”;
division = A;
},
{
subject = “English”;
rollNo = “#6”;
division = A;
},
)
Теперь мне нужно объединить номера рулонов, которые принадлежат к одному и тому же предмету и подразделению, и изменить существующий массив, как показано ниже.
(
{
subject = “Maths";
rollNo = “#1,#3”;
division = A;
},
{
subject = “Science”;
rollNo = “#2,#5”;
division = A;
},
{
subject = “Maths";
rollNo = “#4”;
division = B;
},
{
subject = “English”;
rollNo = “#6”;
division = A;
},
)
This is how I'm trying to achieve it
NSMutableArray *temp =[studentDetailsArray mutableCopy];
NSMutableArray *elementToDelete = [NSMutableArray array];
for (int m=0; m<temp.count-1; m++)
{
if ([temp[m][@"subject"] isEqualToString:temp[m+1][@"subject"]] && [temp[m][@“division”] isEqualToString:temp[m+1][@“division”]])
{
[temp[m] replaceObjectAtIndex:1 withObject:@{@"rollNo":[NSString stringWithFormat:@"%@, %@",temp[m][@"rollNo"],temp[m+1][@"rollNo"]]}];
// [temp[m] setValue:[NSString stringWithFormat:@"%@, %@",temp[m][@"rollNo"],temp[m+1][@"rollNo"]]forKey:@"rollNo"];
[elementToDelete addObject:temp[m+1]];
}
}
[temp removeObjectsInArray:elementToDelete];
Но я получаю сообщение об ошибке при замене объекта, поэтому мне нужно преобразовать его в NSMutableDictionary? Как мне поступить, чтобы сделать это простым способом?