Я испытываю затруднения для добавления структуры данных к массиву для создания массива словарей от цикла. Я просто знал, что addObject в NSMutableArray только добавляют указатель на него. Я хотел бы знать, как достигнуть моей цели.
Вот мой код:
NSMutableDictionary *woRows = [[NSMutableDictionary alloc] init];
NSMutableArray *workOrders = [[NSMutableArray alloc] init];
while ([theScanner isAtEnd] == NO)
{
if ([theScanner scanUpToCharactersFromSet:usSet intoString:&tempCol1] &&
[theScanner scanString:@"{US}" intoString:NULL] &&
[theScanner scanUpToCharactersFromSet:usSet intoString:&tempCol2] &&
[theScanner scanString:@"{US}" intoString:NULL] &&
[theScanner scanUpToCharactersFromSet:usSet intoString:&tempCol3]&&
[theScanner scanString:@"{RS}" intoString:NULL])
{
[woRows setValue:tempCol1 forKey:@"hours"];
[woRows setValue:tempCol2 forKey:@"colMain"];
[woRows setValue:tempCol3 forKey:@"colAddtl"];
[workOrders addObject:woRows];
[woRows release];
}
}
[tmpString release];
[jobs addObject:workOrders];
[workOrders release];
от кода выше, массив workOrders будет иметь дубликаты последних объектов добавленными только. Я придерживался здесь не способный прогрессировать для отображения корректных данных.
Любая справка будет цениться.
Спасибо
попробуйте сделать [workOrders addObject:[woRows copy]];
переместите код создания словаря внутри цикла (внутри условия if)
woRows = [[NSMutableDictionary alloc] init];
, вы используете тот же объект...
.