iphone线程问题 - 循环?

时间:2010-05-31 17:20:45

标签: iphone multithreading ipad loops

我希望在我的应用中有一个后台线程,只要应用程序正在运行,就会每5秒更改一次图像。有人能指出我的方向吗?我是线程新手。

4 个答案:

答案 0 :(得分:1)

如果您正在使用UIImageView并想要在图像之间进行动画更改,则甚至不需要计时器。 UIImageView可以自动在图像之间制作动画:

NSArray *images = [NSArray arrayWithObjects: [UIImage imageNamed: @"foo.png"],
                                             [UIImage imageNamed: @"bar.png"],
                                             nil];

yourImageView.animationImages = images;
yourImageView.animationDuration = 5.0s;
[yourImageView startAnimating];

详细信息记录在UIImageView docs中。

答案 1 :(得分:1)

NSTimer可能会执行您要执行的操作,但是,如果涉及该过程,NSTimer的调用通常会阻塞主线程,或者您需要从互联网获取某些内容以切换出来图片,你需要创建一个新的线程来做到这一点。

有关线程的信息,我强烈推荐CS193P Lecture on performance,它们详细介绍了NSThread,NSOperations等。

另外,来自apple,Threading programing Guide

答案 2 :(得分:0)

你不需要一个线程。您可以使用比线程更简单的计时器来完成它。请参阅timer programming guide.

答案 3 :(得分:0)

您可以使用NSTimer。无需产生新线程:

[NSTimer scheduledTimerWithTimeInterval:5.0s target:self selector:@selector(updateImage) userInfo:nil repeats:YES];