昨天晚上苹果召开了发布会,第二天除了知道 iPhone SE 和 IOS9.3 之外,你还记住了什么,这一天还是老样子,继续着我们的Swift的基本学习,但出现了许多的警告,进去看看文档宝宝才知道 Swift 3.0 要来了!其实这是好事。swift本来就是一个新的编程语言,虽然是苹果公司主推荐给开发者的,但毕竟是新的,才出了一年多,更新完善很正常,只有一款完善的语言,成熟的开发语言,才能做出更好的软件。。这你得相信。今天上网看了一下 说 2.0 到 3.0 是一个跳跃级的完善,宝安心里又苦了许多,但3.0 到 4.0 就会是一些平稳的,会是一些属性的完善了,心里才有了一丝的安慰。今天就看看怎么用Swift 3.0 写最基本最基本的多线程。上代码,注释说明也全在代理里面,就不再说了,看代码,就够了!!宝宝下班咯。。

// 这是一个按钮的点击事件
func tapclick1(buy:UIButton) -> Void { // 最基础原始的 NSThread
// 这样子也是一条线线程
NSThread .detachNewThreadSelector(#selector(self.timeintvial), toTarget: self, withObject: nil) // 最简单的开辟线程的方式,UI的处理也必须回到主线程去处理。
// PRIORITY 优先级 默认
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { // 这是 swift3.0 中的写法
for i in 3 ..< 10
{ if(i == 7 )
{ dispatch_async(dispatch_get_main_queue(), { // 加一个提示框
let contr:UIAlertController = UIAlertController (title: "ZX", message: "出来了", preferredStyle: UIAlertControllerStyle.Alert)
let action:UIAlertAction = UIAlertAction (title: "Hindle", style: UIAlertActionStyle.Cancel, handler: { (action) in }) let action1:UIAlertAction = UIAlertAction (title: "Hindle", style: UIAlertActionStyle.Default, handler: { (action) in
}) contr .addAction(action1)
contr .addAction(action) self .presentViewController(contr, animated: true, completion: { }) }) } } }
// 只执行一次的线程
// 这里的 once 必须是个变量,这里就有内存管理的问题,变量存储的是该对象的地址,并且变量你也只有初始化了你才能分配到内存,这些都是最基础的东西,感觉到这些东西你要清楚了,其实在你不管学习什么语言的过程中都会帮助到你的。 var once: dispatch_once_t = 0
dispatch_once( &once) { print("这里只打印一次")
} } // 这是NSthread 调用的方法
func timeintvial() -> Void { print("nigehundan在下载下载") } // 这是另外一个按钮的点击事件
func tapclick(buy:UIButton) -> Void { // Selector 这里也改变了 你可以试着给一个Button 加一个点击事件,Xcode 会有警告,让你这样写 Selector#selector(self.tapclickwe) // 定义一个计时器
let time:NSTimer = NSTimer .scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(self.tapclickwe), userInfo: nil, repeats: true)
time .fire() // 开辟线程 5 秒钟后计时器失效
let dtime:dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, (__int64_t)(5 * NSEC_PER_SEC)) dispatch_after(dtime, dispatch_get_main_queue()) {
// 五秒后就不在打印东西
time .invalidate()
} } // 这是计时器调用的方法
func tapclickwe() -> Void { print("nigehundan") }

Swift 2.2 最基本的多线程的更多相关文章

  1. swift 多线程及GCD

    1.基本概念 1)进程: 进程是指在系统中正在运行的一个应用程序.每个进程之间是独立的,每个进程运行在其专用且受保护的内存空间里.某进程内的线程在其它进程不可见 2)线程: 1个进程要执行任务,必须有 ...

  2. swift开发多线程篇 - 多线程基础

    swift开发多线程篇 - 多线程基础 iOS 的三种多线程技术 (1)NSThread  使用NSThread对象建立一个线程非常方便 但是!要使用NSThread管理多个线程非常困难,不推荐使用 ...

  3. swift语言之多线程操作和操作队列(下)———坚持51天吃掉大象(写技术文章)

    欢迎有兴趣的朋友,参与我的美女同事发起的活动<51天吃掉大象>,该美女真的很疯狂,希望和大家一起坚持51天做一件事情,我加入这个队伍,希望坚持51天每天写一篇技术文章.关注她的微信公众号: ...

  4. swift语言之多线程操作和操作队列(上)———坚持51天吃掉大象

    欢迎有兴趣的朋友,参与我的美女同事发起的活动<51天吃掉大象>,该美女真的很疯狂,希望和大家一起坚持51天做一件事情,我加入这个队伍,希望坚持51天每天写一篇技术文章.关注她的微信公众号: ...

  5. iOS开发——实战篇Swift篇&UItableView结合网络请求,多线程,数据解析,MVC实战

    UItableView结合网络请求,多线程,数据解析,MVC实战 学了这么久的swift都没有做过什么东西,今天就以自己的一个小小的联系,讲一下,怎么使用swift在实战中应用MVC,并且结合后面的高 ...

  6. iOS开发:Swift多线程NSOperation的使用

    介绍: NSOperation是基于GCD实现,封装了一些更为简单实用的功能,因为GCD的线程生命周期是自动管理,所以NSOperation也是自动管理.NSOperation配合NSOperatio ...

  7. Swift - 多线程实现方式(3) - Grand Central Dispatch(GCD)

    1,Swift继续使用Object-C原有的一套线程,包括三种多线程编程技术: (1)NSThread (2)Cocoa NSOperation(NSOperation和NSOperationQueu ...

  8. Swift - 多线程实现方式(2) - NSOperation和NSOperationQueue

    1,Swift继续使用Object-C原有的一套线程,包括三种多线程编程技术: (1)NSThread (2)Cocoa NSOperation(NSOperation和NSOperationQueu ...

  9. Swift - 多线程实现方式(1) - NSThread

    1,Swift继续使用Object-C原有的一套线程,包括三种多线程编程技术: (1)NSThread (2)Cocoa NSOperation(NSOperation和NSOperationQueu ...

随机推荐

  1. URL中有中文字符,转码方法

    服务端返回的urlString里面有时含有中文,使用 [NSURL URLWithString:urlString]生成URL对象时,iOS客户端不能正确进行网络请求,网上找到的URLEncode方法 ...

  2. STM8S awu及看门狗IWDG WWDG应用(转)

    源:STM8S awu及看门狗IWDG WWDG应用 AWU的应用(用库函数完成的) //切记要开启中断 且在中断函数中 AWU_GetFlagStatus(); 来清除中断 void AWU_SET ...

  3. stm32驱动DS1302芯片

    天时可以自动调整,且具有闰年补偿功能.工作电压宽达2.5-5.5V.采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力.DS1302的外部引脚分配如下图 ...

  4. iOS开发中在UIWebView中添加Gif动态图

    开发是一件很有趣的事,偶尔在程序中添加一些小东西,会给你的应用增色不少.比如,当你的某些功能暂时还不准备上线时,可以先一个放展示Gif动态图的UIWebView上去,既可以告诉用户APP以后会有的功能 ...

  5. 博客停更及OI退役公告

    停更&&OI退役 公告 高中OI之路就这样结束了,曾经想过回在NOI跪,APIO跪,HNOI跪却从未想过会在NOIP跪! 没办法自己作死啊,CCF感觉还是很良心的混个省一回来了,看以后 ...

  6. ABP架构解析

    ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应 ...

  7. 51nod1126(矩阵快速幂)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1126 题意:中文题诶- 思路:构造矩阵: ( 0, 1 )^ ...

  8. Unity3d学习 基础-关于MonoBehaviour的生命周期

    其实在刚接触Unity3D,会有一个疑问,关于Unity3D游戏运行的初始入口在哪?不像Cocos2dx还有个AppDelegate文件可以去理解.而且在刚开始就接触Unity3D时,看到所有脚本中编 ...

  9. 为什么ajax 必须同源,same origin policy

    ajax 所有请求都会附带主域的cookie, 若没有同源策略,攻击者就可以获取你的cookie,状态.

  10. mySql 分段查询

    准备: 创建一个成绩表 Create table grade (id integer, score integer); 插入数据(只有id每次加一,score是1到100的随机数,java生成): p ...