详解autoreleasepool 发表于 2018-02-18 | 分类于 iOS 字数统计: 3.4k 字 | 阅读时长 ≈ 15 分钟 本文首发于个人博客 前言文章开始之前,先想想下面三种场景,分别输出什么呢? 注意str的长度不能太短 注意str的长度不能太短 注意str的长度不能太短 12345678910111213141516 ... 阅读全文 »
从iOS中的引用计数说起 发表于 2018-01-15 | 分类于 iOS 字数统计: 2.7k 字 | 阅读时长 ≈ 11 分钟 本文首发于个人博客 前言维基百科中这么定义引用计数 引用计数是计算机编程语言中的一种内存管理技术,是指将资源(可以是对象、内存或磁盘空间等等)的被引用次数保存起来,当被引用次数变为零时就将其释放的过 ... 阅读全文 »
iOS中三种定时器(`NSTimer`、`CADisplayLink`、`dispatch_source_t`) 发表于 2017-12-15 | 分类于 iOS 字数统计: 2.2k 字 | 阅读时长 ≈ 9 分钟 前言iOS中定时器的使用还是很常见的。那么iOS中有几种定时器,平时又怎么使用呢? NSTimer在详解RunLoop之源码分析一文中,简单描述了NStimer和RunLoop的关系 默认情况下,N ... 阅读全文 »
关于iOS中的13种加锁方案 发表于 2017-11-15 | 分类于 iOS 字数统计: 10.2k 字 | 阅读时长 ≈ 46 分钟 本文首发于个人博客 前言iOS中有很多锁,那么平时使用过程中到底怎么使用呢?本文分享13种加锁方案。本文较长总共一万字。文中代码在github上。 OSSpinLock自旋锁 os_unfair_l ... 阅读全文 »
详解iOS中的Runtime 发表于 2017-10-15 | 分类于 iOS 字数统计: 7.5k 字 | 阅读时长 ≈ 32 分钟 前言导读本文较长,分为以下几个部分 isa class结构 Type Encoding cache_t 方法调用 消息机制的三个阶段 消息发送 动态解析 消息转发 源码分析 什么是runtime ... 阅读全文 »
深入理解iOS的block 发表于 2017-09-16 | 分类于 iOS 字数统计: 7.8k 字 | 阅读时长 ≈ 34 分钟 本文首发于个人博客 前言在文章之前,先抛出如下问题。 block的原理是怎样的?本质是什么? __block的作用是什么?有什么使用注意点? block的属性修饰词为什么是copy?使用block有 ... 阅读全文 »
iOS中load和initialize 发表于 2017-08-16 | 分类于 iOS 字数统计: 2.1k 字 | 阅读时长 ≈ 9 分钟 首发于我的个人博客 +load方法创建类和分类 先创建类YZPerson类,然后创建它的两个分类 YZPerson.m类 12345678910#import "YZPerson.h"@implem ... 阅读全文 »
详解iOS中的关联对象 发表于 2017-07-06 | 分类于 iOS 字数统计: 3.9k 字 | 阅读时长 ≈ 17 分钟 首发于我的个人博客 从给分类添加属性说起在详解iOS中分类Cateogry 一文中,我们提出一个问题, Category能否添加成员变量?如果可以,如何给Category添加成员变量? 不能直接给Ca ... 阅读全文 »
iOS自动打包 发表于 2017-07-02 | 分类于 iOS 字数统计: 1.8k 字 | 阅读时长 ≈ 9 分钟 本文首发于个人博客 前言通过之前Shell脚本的学习,整理iOS自动打包脚本 1234567891011121314151617181920212223242526272829303132333435 ... 阅读全文 »
汇编总结 发表于 2017-06-27 | 分类于 汇编 字数统计: 765 字 | 阅读时长 ≈ 3 分钟 本文首发于 个人博客 汇编语言的种类 8086汇编(16bit) x86汇编(32bit) x64汇编(64bit) ARM汇编(嵌入式、移动设备) p…… x86、x64汇编根据编译器的不同 ... 阅读全文 »