如何将NSMutableDictionary的对象添加到循环中的NSMutableArray中
我很难将数据结构添加到数组中以从循环创建字典数组。我只知道在NSMutableArray中的addObject只添加指向它的指针。我想知道如何实现我的目标。如何将NSMutableDictionary的对象添加到循环中的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 addObject:[woRows copy]];
移动循环内你的字典创建代码(如内部条件)
woRows = [[NSMutableDictionary alloc] init];
您使用相同的对象...
谢谢,它的工作。任何想法,为什么我不能投票给你的答案? – 2009-12-24 12:25:05
即使你没有最低的投票声望...... – 2009-12-24 13:05:26
我知道,这有点晚了,甚至不是你要求的,但我想你想用[woRows setObject:forKey:]
而不是[woRows setValue:forKey:]
。
它工作,我喜欢你的方法,并在我的代码中使用。任何想法,为什么我不能投票给你的答案?它保持变回零 – 2009-12-24 12:27:10