タイマーを備えたこのアプリがあり、そのタイマーのランダムなポイントでボタンを表示できるようにしたいと考えています。ボタンが消えるまでの時間を稼ぐためにボタンを取得する必要があるゲーム設定のようなものです。私はすでにいくつかのコードを持っていますが、問題は私がすでに持っているタイマーが台無しになっていることです(ラベルにリンクされているのでわかります.1ではなく2で下がるので台無しになり、これはボタンをタイマーで表示および非表示にするコードがあります。
めちゃくちゃになっているタイマーのコードは次のとおりです。
-(IBAction)Ready:(id)sender {
[self performSelector:@selector(TimerDelay) withObject:nil afterDelay:1.0];
[self performSelector:@selector(randomTimer) withObject:nil afterDelay:0.5];
}
-(void)TimerDelay {
MainInt = 36;
timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(countDownDuration)
userInfo:nil
repeats:YES];
}
ボタンのコードは次のとおりです。
-(IBAction)Ready:(id)sender { //the same ready action as above
[self performSelector:@selector(TimerDelay) withObject:nil afterDelay:1.0];
[self performSelector:@selector(randomTimer) withObject:nil afterDelay:0.5];
}
-(void)TimerDelay {
MainInt = 36;
timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(countDownDuration)
userInfo:nil
repeats:YES];
}
- (void)randomTimer {
NSInteger randomTime = arc4random_uniform(0); //Some number between 0 and 9
timer = [NSTimer scheduledTimerWithTimeInterval:randomTime
target:self
selector:@selector(showButton)
userInfo:nil
repeats:NO];
}
- (void)showButton {
if(self.plus5.hidden == YES) {
self.plus5.hidden = NO;
}
else {
self.plus5.hidden = YES;
}
[self TimerDelay]; //Call random timer function again to run this method at a future random time
}