摘要:
常用 Git 命令清单 作者: 阮一峰 日期: 2015年12月 9日 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是我整理的常用 Git 命令清单。几 阅读全文
摘要:
一、什么是CADisplayLink 简单地说,它就是一个定时器,每隔几毫秒刷新一次屏幕。 CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器。我们在应用中创建一个新的 CADisplayLink 对象,把它添加到一个runloop中,并给它提供一个 targe 阅读全文
摘要:
摘要:iOS分类底层是怎么实现的?本文将分如下四个模块进行探究分类的结构体编译时的分类分类的加载总结本文使用的runtime源码版本是objc4-680文中类与分类代码如下//类@interfacePerson:NSObject@property(nonatomic,copy)NSString*pr 阅读全文
摘要:
delegate: 当我们第一次编写iOS应用时,我们注意到不断的在使用“delegate”,并且贯穿于整个SDK。delegation模式不是iOS特有的模式,而是依赖与你过去拥有的编程背景。针对它的优势以及为什么经常使用到,这种模式可能不是很明显的。delegate的基本特征是,一个contro 阅读全文
摘要:
引导 Apple document 上图内容释义 Run loops 是线程相关底层基础的一部分。它的本质和字面意思一样运行着的循环(事件处理的循环),作用:接受循环事件和安排线程的工作。目的:让线程在有任务的时候忙于工作,而没任务的时候处于休眠状态。 Run loop 的管理并非完全自动。你仍然需 阅读全文
摘要:
RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。 目录 RunLoop 阅读全文
摘要:
消息发送 消息发送举例:下面这个OC代码 会被编译成: objc_msgSend的具体流程如下: 消息转发 上面我们提到, 如果到最后都找不到, 就会来到消息转发,消息转发的流程如下: 1. 动态方法解析 对象在收到无法解读的消息后, 首先调用其所属类的这个类方法 : 假如尚未实现的方法不是实例方法 阅读全文
摘要:
序言 我相信很多人都在说,iOS行业不好了,iOS现在行情越来越难了,失业的人比找工作的人还要多。失业即相当于转行,跳槽即相当于降低自己的身价。那么做iOS开发的你,你是否在时刻准备着跳槽或者转行了。 我们先看一下现在iOS行业,iOS程序员在如今竞争激烈的市场环境下,你自己还值多少钱,下面是按年限 阅读全文
摘要:
转载:https://segmentfault.com/a/1190000000390012 译注:这篇文章虽然比较长,但是里面的内容还是很有价值的。 像素是如何绘制到屏幕上面的?把数据输出到屏幕的方法有很多,通过调用很多不同的framework和不同的函数。这里我们讲一下这个过程背后的东西。希望能 阅读全文
摘要:
原文 对于大多数 iOS 应用来说,图片往往是最占用手机内存的资源之一,同时也是不可或缺的组成部分。将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,其中就包括了对图片的解压缩。 图片加载的工作流 概括来说,从磁盘中加载一张图片,并将它显示到屏幕上,中间的主要工作流 阅读全文