意図しないコア データ値の変更に問題があります。私はそれを修正する方法について考えていますが、それを行うたびに、認識されないセレクターが表示されます。私の考えは、に変更valueArray = attribute.values;
するvalueArray = [NSArray arrayWithArray:attribute.values];
ことです。
編集: 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];
}
}
}