早教吧作业答案频道 -->其他-->
iOS如何在一个函数执行过程中,在某一步停下来,等待一个消息,或通知之类的东西,然后继续执行就如同做一个nstimer,把那个固定时间改成一个条件.求教.
题目详情
iOS 如何在一个函数执行过程中,在某一步停下来,等待一个消息,或通知之类的东西,然后继续执行
就如同做一个nstimer,把那个固定时间改成一个条件.求教.
就如同做一个nstimer,把那个固定时间改成一个条件.求教.
▼优质解答
答案和解析
用线程吧 貌似没又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];
}
这里时间按秒计算 当然也可以无止尽等待
-(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];
}
这里时间按秒计算 当然也可以无止尽等待
看了iOS如何在一个函数执行过程中...的网友还看了以下:
旅行(n.)正常的(adj.)除非(conj)无疑(adv.)钱包(n.)英里(n.)他自己(pr 2020-04-09 …
通过编程给计算一下下面的式子abs((1/n)*∑(1/(2+(2-1/n)*i)²)通过编程给计 2020-06-05 …
(1/2)第一行是1,第二行是234,第三行是56789第四行是10111213141516如此类 2020-07-18 …
(A/P,i,n)=(A/F,i,n)+i或(A/F,i,n)=(A/P,i,n)-i我已经知道怎 2020-07-23 …
问一个行列式的问题,急N行N阶,主对角线及以下都是1,以上是-1,求其展开后正项的个数我很负责的跟 2020-08-02 …
小刚由家去学校然后又按原路返回,去时每分钟行m米,回来时每分钟行n米,小刚的平均速度是每分钟()米. 2020-11-04 …
A为m行n列的矩阵,则(AX)^(T)*(AX)大于等于0.请问这是为什么呢?完整题目是:A为m行n 2020-11-11 …
请写出要细节我想分析下,列三角形数表假设第n行的第二个数为an请写出要细节我想分析下,列三角形数表1 2020-11-17 …
如图是一个有规律排列的数表,请用含n的代数式(n为正整数)表示数表中的第n行第n列的数第一列第二列第 2020-11-17 …
如图是一个三角形点阵图,从上向下有无数多行,其中第一行有1个点,第二行有2个点…第n行有n个点,容易 2020-11-18 …