swift 多线程的使用
2016-12-23 09:53
197 查看
尝试了下Swift3.0中GCD的延时函数与之前的有挺大的不同 - swift3.0中有4个延迟函数,如下
一般开发中,用第三个应该就足够了,下面看看具体使用
public func asyncAfter(deadline: DispatchTime, qos: DispatchQoS = default, flags: DispatchWorkItemFlags = default, execute work: @escaping @convention(block) () -> Swift.Void) public func asyncAfter(wallDeadline: DispatchWallTime, qos: DispatchQoS = default, flags: DispatchWorkItemFlags = default, execute work: @escaping @convention(block) () -> Swift.Void) public func asyncAfter(deadline: DispatchTime, execute: DispatchWorkItem) public func asyncAfter(wallDeadline: DispatchWallTime, execute: DispatchWorkItem)
一般开发中,用第三个应该就足够了,下面看看具体使用
public func asyncAfter(deadline: DispatchTime, execute: DispatchWorkItem) // 该方法接收一个DispatchTime的参数,点进这个类型的里面可以发现实个结构体 public struct DispatchTime : Comparable { public let rawValue: dispatch_time_t public static func now() -> DispatchTime public static let distantFuture: DispatchTime public init(uptimeNanoseconds: UInt64) public var uptimeNanoseconds: UInt64 { get } } // DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2, execute: { self.tableView?.reloadData() if self.refreshControl?.isRefreshing == true { self.refreshControl?.endRefreshing() } }) DispatchTime.now() 获取当前时间, DispatchTime.now() + 2, 在当前时间的基础上加2,那就是延时两秒了
相关文章推荐
- swift/IOS 多线程使用
- iOS多线程简介 - Swift版本 2.多线程开发 -- NSOperation的简单使用
- swift/IOS 多线程使用
- iOS开发:Swift多线程GCD的使用
- iOS多线程简介 - Swift版本 1.多线程开发 -- CGD的简单使用
- swift/IOS 多线程使用
- 关于多线程使用的问题
- [原创]c#中使用多线程(图)一
- 使用Thread包装类进行多线程操作
- c#中使用多线程(图)
- 多线程中暂停与挂起方法suspend sleep join 区别及使用指导 (原创)
- 多线程编程:何时使用同步类
- 在多线程环境下使用HttpWebRequest或者调用Web Service
- 多线程WIN32程序如何检查死锁(三)-使用Petri网络来表示多线程应用程序
- c#中使用多线程(图)一
- 在J2ME中使用Timer和TimerTask来实现多线程
- GTK中使用多线程
- [ZZ]使用多线程使软件界面具有较好的响应性
- linux下面使用gprof,分析多线程
- 多线程下小心使用GregorianCalendar