为了账号安全,请及时绑定邮箱和手机立即绑定

如下求教,该如何做一个nstimer,然后把那个固定时间改成一个条件。

如下求教,该如何做一个nstimer,然后把那个固定时间改成一个条件。

三国纷争 2022-01-05 18:14:07
iOS 如何在一个函数执行过程中,在某一步停下来,等待一个消息,或通知之类的东西,然后继续执行
查看完整描述

2 回答

?
料青山看我应如是

TA贡献1772条经验 获得超7个赞

用线程吧 貌似没又windows下边的messagebox那样的函数

-(void)timerArrived:(id)sender{

timerFinished = YES;

}

-(void) waitTimeForSeconds:(NSTimeInterval) times{

timerFinished = NO;

NSTimer *delayForProgram = [NSTimer scheduledTimerWithTimeInterval:times target:self selector:@selector(timerArrived:) userInfo:nil repeats:NO];

while (!timerFinished) {

[[NSRunLoop currentRunLoop] addTimer:delayForProgram forMode:@"NSDefaultRunLoopMode"];

[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[[NSDate alloc] initWithTimeIntervalSinceNow:times]];

}

[delayForProgram release];

}
希望对你有帮助 这里时间按秒计算 当然也可以无止尽等待

查看完整回答
反对 回复 2022-01-09
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

所以你的设计思路有问题;
你可以先return nil;
等收到通知的时候,再执行客户的需求

查看完整回答
反对 回复 2022-01-09
  • 2 回答
  • 0 关注
  • 265 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信