0

好的。我在这上面花了很多时间。我在互联网上四处张望,感觉很愚蠢。我有一个程序,它是 x、2、“+”的数组。所以我制作了一个程序副本并尝试用 variableValues 中的值 (5) 替换 x。

谁能告诉我世界上如何做到这一点?

+ (double)runProgram:(id)program usingVaraiableValues:(NSDictionary *)variableValues {

    NSMutableArray *program2 = program;
    for (NSString *obj in program) {
        NSNumber *number = [variableValues objectForKey:obj];
        if (number) {
            int index = [program indexOfObject:obj];
            NSLog(@"index = %i", index);
            [program2 replaceObjectAtIndex:index withObject:number];
        }
    }
    return [self runProgram:program2];
}
4

1 回答 1

1

实际上program2不是 的副本program,它是对相同内存地址的引用。尝试做NSMutableArray *program2 = [program mutableCopy];

于 2013-07-05T03:30:31.360 回答