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 的调用返回零/零。(但由于出现“设置成就被调用”,这表明委托是好的,成就是零。)

于 2012-11-26T12:28:42.190 回答