循环给字典添加值的时候,每次添加的都是同一个值,找了下原因,发现字典对象每次都是同一个对象,并没有实例化。其实应该在循环里面给它实例化,才能保证每次取的都是不同的对象。
NSMutableArray *timeArray = [NSMutableArray new];
NSMutableDictionary *dictTime = [NSMutableDictionary new];
for (int i = 0; i < transTime.count; i++) {
TransferTransferoutTime *transtime = transTime[i];
[dictTime setObject:transtime.dictName forKey:@"dictName"];
[dictTime setObject:transtime.dictValue forKey:@"dictValue"];
[dictTime setObject:@(transtime.defaultFlag) forKey:@"defaultFlag"];
[timeArray addObject: dictTime];
}
如下,把字典的实例化放在里面。
NSMutableArray *timeArray = [NSMutableArray new];
for (int i = 0; i < transTime.count; i++) {
NSMutableDictionary *dictTime = [NSMutableDictionary new];
TransferTransferoutTime *transtime = transTime[i];
[dictTime setObject:transtime.dictName forKey:@"dictName"];
[dictTime setObject:transtime.dictValue forKey:@"dictValue"];
[dictTime setObject:@(transtime.defaultFlag) forKey:@"defaultFlag"];
[timeArray addObject: dictTime];
}
网友评论