Xcode 7 [Objective-c]方法冲突?

时间:2016-02-27 05:30:46

标签: ios objective-c xcode

我运行我的应用程序时会添加分数,但在点击它后不会更改阻止位置。

- (IBAction)Block:(id)sender{

Random = arc4random() %219;
Random = Random + 61;

BlockI.center = CGPointMake(0, Random);
BlockB.center = CGPointMake(0, Random);

[self Score];

}

- (void)Score{

ScoreInt = ScoreInt + 1;
Score.text = [NSString stringWithFormat:@"%li", (long)ScoreInt];
[[NSUserDefaults standardUserDefaults] setInteger:ScoreInt forKey:@"ScoreSaved"];

}

现在,如果我删除部分:

[self Score];

 - (void)Score{

ScoreInt = ScoreInt + 1;
Score.text = [NSString stringWithFormat:@"%li", (long)ScoreInt];
[[NSUserDefaults standardUserDefaults] setInteger:ScoreInt forKey:@"ScoreSaved"];
}

然后我得到了该块的随机放置,但是当我点击它时,得分不会增加。

-Thanks, 德里克

2 个答案:

答案 0 :(得分:1)

您还没有synchronize NSUserDefaults所以synchronize NSUserDefaults

[[NSUserDefaults standardUserDefaults] synchronize];

答案 1 :(得分:0)

要将值存储在NSUserDefaults中,因此必须同步NSUserDefaults。如果不同步NSUserDefaults,则不会设置您的设置值。编写代码......

- (void)Score
{
   ScoreInt = ScoreInt + 1;
   Score.text = [NSString stringWithFormat:@"%li", (long)ScoreInt];
   [[NSUserDefaults standardUserDefaults] setInteger:ScoreInt forKey:@"ScoreSaved"];
   [[NSUserDefaults standardUserDefaults] synchronize];
}