0

わかった。私はこれに途方もない時間を費やしました。私はかなりばかげていると感じるところまで、インターネットであちこちを見回しました。x、2、「+」の配列であるプログラムがあります。そこで、プログラムのコピーを作成し、x を variableValues の値 (5) に置き換えようとしました。

世界でこれを行う方法を誰か教えてもらえますか?

+ (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 に答える