NSMutableDictionary *backprop;
NSMutableArray *backlist;
[backprop setValue:self.val forKey:@"id"];//NSLog for self.val
[backprop setValue:title.text forKey:@"name"];//NSLog for title.text
[backlist insertObject:backprop atIndex:backlist.count];
我将backprops
添加到backlist
。我添加NSLogs
个不同的值。这就是我想要的。
但是当我用这段代码记录它们时:
while (i!=backlist.count) {
NSLog(@"%@ %@",[[backlist objectAtIndex:i] objectForKey:@"id" ],[[backlist objectAtIndex:i] objectForKey:@"name" ]);i++;
}
它们与最后一个对象完全相同。为什么会这样?谢谢。
答案 0 :(得分:1)
可能是因为您使用backlist.count-1作为索引而不是使用i。
试试这个:
while (i!=backlist.count) {
NSLog(@"%@ %@",[[backlist objectAtIndex:i] objectForKey:@"id" ],[[backlist objectAtIndex:i] objectForKey:@"name" ]);i++;
}
答案 1 :(得分:0)
我找到了。 我在.m文件中的@implementation下定义了NSMutableArray和NSMutableDictionary。 我不得不倒空了。
所以我改变了我的代码:
-(void)....{
NSMutableDictionary *backprop = [[NSMutableDictionary alloc] init];
[backprop setObject:self.val forKey:@"id"];
[backprop setObject:title.text forKey:@"name"];
[backlist addObject:backprop];NSInteger i=0;
...
}