摘要:   上一篇文章我对GCD的几个基本概念做了介绍,但是大家看完了可能觉得对理解GCD并没有什么卵用。其实会用GCD其实很简单,只要记住两条就可以了。 1. 主队列里的任务必须在异步函数中执行。 主队列里的任务如果在同步函数中执行,就会造成死锁。什么是死锁?容我举例来说明。 代码 日 阅读全文
posted @ 2016-11-04 14:39 豆丶浆油条 阅读(267) 评论(0) 推荐(0) 编辑
摘要: GCD(Grand Central Dispatch)应该是我们开发中最常用到的多线程解决方案,是苹果公司专门为多核的并行运算提出的解决方案,是基于C语言的,提供了很多非常强大的函数。 GCD的优势 1.会自动利用更多的CPU内核(从iPhone4s开始是双核,iPhone7系列是4核)。 2.会自 阅读全文
posted @ 2016-11-04 14:23 豆丶浆油条 阅读(290) 评论(0) 推荐(0) 编辑
摘要:   我们把一些耗时操作放在子线程,例如下载图片,但是下载完毕我们不能在子线程更新UI,因为只有主线程才可以更新UI和处理用户的触摸事件,否则程序会崩溃。此时,我们就需要把子线程下载完毕的数据传递到主线程,让主线程更新UI,这就是线程间的通信。 原理 代码 日志  &em 阅读全文
posted @ 2016-11-04 13:50 豆丶浆油条 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 我在上一篇文章讲了线程的生命周期,这篇文章来讲讲线程加锁的注意事项与@synchronized关键字。 那什么时候需要加锁呢,就是当多条线程同时操作一个变量时,就需要加锁了。至于为什么要加锁,可以看看文顶顶的这篇文章:http://www.cnblogs.com/wendingding/p/3805 阅读全文
posted @ 2016-11-04 12:09 豆丶浆油条 阅读(453) 评论(0) 推荐(0) 编辑
摘要:   Thread 是多线程中最容易理解,但是使用起来又是最麻烦的一种多线程方法。为什么说容易理解呢?一个NSThread的对象就是一条线程。使用起来麻烦是因为,需要我们自己管理线程的生命周期:创建线程、调度任务、销毁线程。 首先我们开始创建线程: ​第一种方法: ​ 也可以用下面 阅读全文
posted @ 2016-11-04 11:28 豆丶浆油条 阅读(923) 评论(0) 推荐(0) 编辑
摘要:    问题描述:想删除模拟器上的测试项目,但是长按之后主界面模糊一下,并没有出现小叉叉来删除。    原因:这是因为xcode8中模拟器自带Touch3D,我们控制不好触摸板的力度。 解决方法: 1.轻按。 2.关闭模拟器的​Touch3D。Hardware​ 阅读全文
posted @ 2016-11-04 11:09 豆丶浆油条 阅读(821) 评论(0) 推荐(0) 编辑
摘要:   至于为什么要进行HTTP请求我就不说了。本文主要对HTTP协议做了一些介绍,主要针对网络编程和面试。 先从流程开始说起 APP 服务器 后台​ 1)App 也就是移动端告诉服务器想要什么样的数据。 2)服务器接收到了命令,去后台查找。 3)查找完之后,服务器返回给移动端。 流 阅读全文
posted @ 2016-11-04 11:00 豆丶浆油条 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 现在的推送用的越来越频繁,几乎每个应用都开始用到了。其实又有几个用户会去看推送消息呢?没办法,产品经理最大啊,只是苦了我们这一帮程序员啊!闲话少说,进入正题。兄弟我用的是极光推送,自然是以极光推送为例了。 现在点击推送消息,有两种跳转方式:1.打开应用,跳转到应用首页;2.打开应用,跳转到指定页面。 阅读全文
posted @ 2016-11-04 10:45 豆丶浆油条 阅读(1089) 评论(0) 推荐(1) 编辑