自己的线程循环

时间:2011-04-27 19:32:38

标签: ios loops xcode4

我希望在显示另一张照片之前显示等待2秒的照片。 所以我尝试用好的旧C99:sleep(300),但UI不会更新。

我尝试的第二件事是: 1.在自己的线程中创建方法

[NSThread detachNewThreadSelector:@selector(gameIt) toTarget:self withObject:nil]; 
  1. 然后在方法中睡觉:

    [NSThread sleepForTimeInterval:1];

  2. 但同样的问题,UI不会更新。 我做错了什么?请帮我。谢谢。

2 个答案:

答案 0 :(得分:2)

只要您在主线程上sleep,就会停止用户界面。

你可能会对NSThread的课程方法scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:感到满意。你必须保留一些上下文,以便你的方法的每次调用都知道该怎么做,但这不会阻止你的UI,它会给你3秒(或者其他)你正在寻找的间隔

答案 1 :(得分:0)

在后台线程上运行处理,但是在编辑UI时需要执行SelectorOnMainThread

[view performSelectorOnMainThread:@selector(setNeedsDisplay) withObject:nil waitUntilDone:YES];