我正在翻译C代码以理解来自C的客观C差异。 我想翻译这条指令。
new_fitness += abs(int(population[i].str[j] - target[j]));
new_fitnees
是一个整数var。 Target
是一个字符串,population是 ,其中包含一个名为str
的字符串属性。
我尝试了这个安全性:
new_fitness += abs( [[population objectAtIndex:i] cadena characterAtIndex:j] - [target characterAtIndex:j] );
我收到一条错误消息,指出:第一个characterAtIndex
中缺少。
new_fitnees
是NSInteger var。 Target
是一个NSString,population是一个 NSMutableArray ,它包含一个名为cadena
的字符串属性。
最后,在Objetive-C中将C操作分成3个或4个小操作会更好吗?我认为我获得的Obj-C序列太复杂了,无法阅读。
答案 0 :(得分:1)
wtf是“cadena”将其删除。您还需要对象的intValue
NSInteger new_fitness = 0;
NSString *target = @"test";
NSMutableArray *population = [NSArray arrayWithObject:@"cadena"];
new_fitness += abs( [[population objectAtIndex:0] characterAtIndex:1] -[target characterAtIndex:1]);
刚刚测试过 - 看到没有错误