こんにちは私はNSTimerを使ってカウントダウンを作成し、これをラベルを使って表示しようとしています。問題はラベルが2つになってしまい、理由がわからないということです。何か案は?iOS NSTimerを2回点滅
HERESに私のコード誤解のために申し訳ありません
- (void)viewDidLoad
{
NSLog(@"%@", self.chosenTime);
[self startGame];
[super viewDidLoad];
NSString *timeString = self.chosenTime;
self.timer = [timeString intValue];
self.countdown.text = timeString;
// Do any additional setup after loading the view.
}
- (void)startGame
{
[self introCountdown];
[self performSelector:@selector(goAnimation) withObject:nil afterDelay:3.0];
NSString *timeString = self.chosenTime;
self.timer = [timeString intValue];
[self performSelector:@selector(startCountdown) withObject:nil afterDelay:4.0];
}
- (void)startCountdown
{
//self.countdownTimer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(decrementTimer:) userInfo:nil repeats:YES];
self.countdownTimer = [NSTimer scheduledTimerWithTimeInterval:1.00 target:self selector:@selector(decrementTimer:) userInfo:nil repeats:YES];
}
- (void)decrementTimer:(NSTimer *)timer
{
if(self.timer > 0)
{
self.timer = self.timer - 1;
self.countdown.text = [NSString stringWithFormat:@"%d", self.timer];
}
else
{
[self.countdownTimer invalidate];
self.countdownTimer = nil;
}
}
startCountDownを呼び出したコードを投稿できますか? – giorashc
hmmm .. startCountDownを明示的に呼び出すことができますか([self startCountdown])、動作するかどうか確認してください。 – giorashc
BTW [super viewDidLoad]はviewDidLoad()で最初に実行する必要があります – giorashc