如何用另一个对象替换NSMutableArray中的对象

时间:2013-07-05 03:10:15

标签: objective-c nsmutablearray

行。我花了很多时间在这上面。我在互联网上四处看看,感觉非常愚蠢。我的程序是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];
}

1 个答案:

答案 0 :(得分:1)

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