gpt4 book ai didi

ios - 如何在特定时间停止NSTimer?

转载 作者:行者123 更新时间:2023-12-01 18:18:12 25 4
gpt4 key购买 nike

我创建了一个简单的按钮游戏,每次单击按钮都会为用户提供一个要点。该按钮每1.5秒随机出现在屏幕上。我希望游戏在30秒后或20个随机按钮弹出后结束。我一直在使用以下代码在屏幕上随机弹出按钮:

timer = [NSTimer scheduledTimerWithTimeInterval: 1.5 target:self
selector:@selector(moveButton:)
userInfo:nil
repeats:YES];

我已经在头文件中声明了计时器:
NSTimer *timer;
@property (nonatomic, retain) NSTimer *timer;

我已阅读 Using Timers上的Apple Docs,但无法完全理解它。我以为我可以使用:
- (void)countedTimerFireMethod:(NSTimer *)timer{
count ++;
if(count > 20){
[self.timer invalidate];
self.timer = nil;

但是它不能正常工作。我究竟做错了什么?我是Objective-C的新手,所以我对事物的工作方式并不熟悉。

最佳答案

问题出在您的计时器方法上,您传递了moveButton方法,但是在下面的方法中,您停止计时器的方法名称不同,因此请尝试以下操作:

  self.timer = [NSTimer     
scheduledTimerWithTimeInterval: 1.5 target:self
selector:@selector(moveButton:)
userInfo:nil
repeats:YES];

//只需在下面更改方法名称
 - (void)moveButton:(NSTimer *)timer{
count ++;
if(count > 20){
[self.timer invalidate];
self.timer = nil;}

关于ios - 如何在特定时间停止NSTimer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19608044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com