Как к addObject NSMutableDictionary к NSMutableArray в цикле

Я испытываю затруднения для добавления структуры данных к массиву для создания массива словарей от цикла. Я просто знал, что 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 будет иметь дубликаты последних объектов добавленными только. Я придерживался здесь не способный прогрессировать для отображения корректных данных.

Любая справка будет цениться.

Спасибо

24
задан Ber Biji II 24 December 2009 в 11:02
поделиться

2 ответа

попробуйте сделать [workOrders addObject:[woRows copy]];

27
ответ дан 28 November 2019 в 23:01
поделиться

переместите код создания словаря внутри цикла (внутри условия if)

woRows = [[NSMutableDictionary alloc] init];

, вы используете тот же объект...

.
7
ответ дан 28 November 2019 в 23:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: