0

私のプロジェクトでは、メインGameClassがデータをNSMutableArrayコントロールクラスViewController(GameClassのデリゲート)のに保存しようとしたことによる成果がありますが、配列の値は変更されていないようです。これが私のコードです:

GameClass.mで

NSLog(@"test %i",[delegate getAchievement:3]);
[delegate setAchievement:3];
NSLog(@"test %i",[delegate getAchievement:3]);

ViewController.mで

-(void)setAchievement: (int)number{

     [achievements replaceObjectAtIndex: number withObject: [[NSNumber alloc] initWithInt:1]];
     NSLog(@"setachievement was called");

     [self saveData];
}

-(int)getAchievement: (int)number{

    return [[achievements objectAtIndex: number] intValue];
}

そして私が得るものは:

 2012-11-25 20:47:14.754 Stickman Parkour 2[25109:c07] test 0
 2012-11-25 20:47:14.755 Stickman Parkour 2[25109:c07] setachievement was called
 2012-11-25 20:47:14.755 Stickman Parkour 2[25109:c07] test 0
4

1 に答える 1

1

デリゲートがnilであるか、実績がnilです。nilを呼び出すと、ゼロ/nilが返されます。(ただし、「セットアチーブメントが呼び出されました」と表示されるので、デリゲートはOKであり、アチーブメントはゼロであることを示しています。)

于 2012-11-26T12:28:42.190 に答える