ios - 如何在 iOS 中让线程休眠几秒钟?

标签 ios objective-c multithreading

在 iOS 环境中,是否可以让当前线程休眠几秒钟,然后执行我的代码? NSTimer、GDC 或任何技术对我来说都可以。

最佳答案

如果你能分享你所做的事情会更好,但就在这里。

您可以选择几个选项:

选项 1

// Standard Unix calls
sleep(); 
usleep();

可以找到关于sleep 函数的一些文档here .您会发现它们实际上是 C 函数,但是由于 Objective-C 是 C 的严格超集,我们仍然可以使用 sleepusleep 函数。

选项 2

[NSThread sleepForTimeInterval:2.000];//2 seconds

Apple documentation对于此方法说明:

Sleeps the thread for a given time interval.

Discussion

No run loop processing occurs while the thread is blocked.

选项 3

 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 
                              1 * NSEC_PER_SEC),
                dispatch_get_main_queue(),
                ^{ 
                     // Do whatever you want here. 
                 });

Grand Central Dispatch 路线也是一种非常好的做事方式。这是 Grand Central Dispatch 的 Apple 文档这是一本很好的读物。

还有这个问题可能很有用How to Wait in Objective-C

关于ios - 如何在 iOS 中让线程休眠几秒钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28896008/

相关文章:

ios - Swift:从 TabView 重新加载 collectionView

objective-c - Objective C - 使方法仅调用一次

c# - 非阻塞(无锁)一次性初始化

multithreading - 这是什么设计模式?它与线程有关

Java TCP 多用户聊天服务器客户端与服务器的连接存在问题

IOS-如何将json字符串转换为对象

jquery - iOS UIWebView 在浏览大约 :blank url 时没有检测到 javascript

objective-c - 从 nsdictionary 中获取 nsdictionary 和 nsstring 值

ios - 如何使用行距准确获取 UILabel 的高度?

ios - 检查用户是否安装了 Facebook Messenger iOS 9