我遇到了核心数据值发生更改的问题,因为我不打算这样做。我有一个关于如何解决它的想法,但每次我都会遇到无法识别的选择器。我的想法是将valueArray = attribute.values;
更改为valueArray = [NSArray arrayWithArray:attribute.values];
任何帮助,将不胜感激。CoreData的值意外更改
编辑:我想创建一个总和的attribute.values。我有技能节点,每个都有附加的属性,有时这些属性值是不同的。我试图总结所有类似的价值观。
Build *selectedBuild = [buildListController selectedObjects][0];
NSMutableDictionary *attributeAggregator = nil;
attributeAggregator = [NSMutableDictionary dictionary];
NSLog(@"Before: %@", attributeAggregator);
NSMutableDictionary *numValues = [NSMutableDictionary dictionary];
NSArray *valueArray = nil;
for (SkillNode *active in selectedBuild.activeNodes) {
for (Attribute *attribute in active.attributes) {
NSString *attrName = attribute.name;
NSLog(@"%@ %@", attribute.name, attribute.values);
NSMutableArray *obj = [attributeAggregator objectForKey:attribute.name];
if (obj) {
for (int ndx = 0; ndx < [obj count]; ndx++) {
obj[ndx] = [NSNumber numberWithFloat:([obj[ndx] integerValue] + [attribute.values[ndx] integerValue])];
}
[attributeAggregator setValue:obj forKey:attrName];
} else {
valueArray = attribute.values;
[attributeAggregator setValue:valueArray forKey:attrName];
[numValues setValue:attribute.numValues forKey:attrName];
}
}
}
什么是无法识别的选择器错误? – propstm
发送消息给释放对象。它无法在指定的内存中找到该对象。 – stormbard