gpt4 book ai didi

ios - 独特的 NSMutableDictionaries 的 NSMutableArray

转载 作者:行者123 更新时间:2023-11-29 00:31:02 25 4
gpt4 key购买 nike

我正在从数据库中获取值,并使用以下代码创建一个包含唯一 NSMutableDictionary 元素的 NSMutableArray

  NSArray *results = [self.managedObjectContext executeFetchRequest:request error:&error];
NSMutableArray *coreArray = [NSMutableArray new];
NSLog(@"count %ld",[results count]); //prints 5

for (NSManagedObjectContext * info in results){
complianceId = [info valueForKey:@"complianceId"];
coreDict setValue:[NSNumber numberWithInt:(int)complianceId] forKey:@"comp_id"];
NSLog(@"inner core dict %@",coreDict); //prints unique elements
[coreArray addObject:coreDict];
NSLog(@"array %@",coreArray); //prints an array containing same dictionary elements
}

生成的coreArray 由相同的字典元素组成。我可以解决这个问题吗?

最佳答案

你只有一个字典 coreDict 并且你在每个循环中将这个相同的字典添加到你的数组中。每当您设置键 comp_id 的值时,它都会在 coreDict 的所有实例中更改该值。

相反,您应该在每个循环中创建一个新字典并将其添加到数组中。

替换:

[coreDict setValue:[NSNumber numberWithInt:(int)complianceId] forKey:@"comp_id"];
[coreArray addObject:coreDict];

与:

NSDictionary *dict = @{@"comp_id":[NSNumber numberWithInt:(int)complianceId]};
[coreArray addObject:dict];

关于ios - 独特的 NSMutableDictionaries 的 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41829267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com