Iphone 如何正确停止nsrunlop?
我正在应用程序中使用nsrunlop。就一句话Iphone 如何正确停止nsrunlop?,iphone,objective-c,nsrunloop,Iphone,Objective C,Nsrunloop,我正在应用程序中使用nsrunlop。就一句话 [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]]; 在for循环中执行。需要每两秒钟更新一次特定文本,持续三次。一切正常,但当我退出它运行的屏幕时(以及当它运行时,这是最重要的),然后再次进入屏幕,然后再次退出时,我的应用程序崩溃。如果在NSRunLoop运行时退出,我想我必须停止运行它,但我不知道如何做到这一点。你能给我一些建议吗
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]];
在for循环中执行。需要每两秒钟更新一次特定文本,持续三次。一切正常,但当我退出它运行的屏幕时(以及当它运行时,这是最重要的),然后再次进入屏幕,然后再次退出时,我的应用程序崩溃。如果在NSRunLoop运行时退出,我想我必须停止运行它,但我不知道如何做到这一点。你能给我一些建议吗
这是我的循环:
for (int i = 1;i <= 3;i++)
{
int result = [self analyzeCards];
((UILabel *)[bidLabels objectAtIndex:i]).text = [bidResults objectAtIndex:result];
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:2]];
bidIndexes [i - 1] = result;
}
for(inti=1;i感谢您修改您的问题以包含一些源代码
我建议不要做你一直在做的runUntilDate
事情,而是作为一个分离的线程来做()
崩溃本身最有可能发生,因为bidLabels
数组中的对象过时或已释放,或者只是垃圾。每次重新打开窗口时都重置该数组。安德烈,您可能应该显示更多的代码。例如,您是否创建了一个新的运行循环?您可以显示吗(以及涉及更新的元素?UILabel还是?)。