这次不以规律解释行为, 而从源码窥视规律. 在Swift中的动与静一文中, 我详细的介绍了 Swift 中不同场景下方法的派发方式. 自认为在这方面的掌握已经炉火纯青, Sw...
这次不以规律解释行为, 而从源码窥视规律. 在Swift中的动与静一文中, 我详细的介绍了 Swift 中不同场景下方法的派发方式. 自认为在这方面的掌握已经炉火纯青, Sw...
1、虚拟内存 & ASLR 在早期计算机中数据是直接通过物理地址访问的,这就造成了下面两个问题 1、内存不够用 2、数据安全问题 内存不够 --- > 虚拟内存 虚拟内存就是...
背景知识: mach-o文件为基于Mach核心的操作系统的可执行文件、目标代码或动态库,是.out的代替,其提供了更强的扩展性并提升了符号表中信息的访问速度, 符号表,用于标...
知 识 点 / 超 人 更新2019-03-27:添加了+load与+initialize方法的补充说明 前言当自己对技术对APP的性能达到一定的追求时,就需要对APP有较深...
iOS 系统架构 Mac系统是基于Unix内核的图形化操作系统,Mac OS 和 iOS 系统架构的对比分析发现,Mac OS和iOS的系统架构层次只有最上面一层不同,Mac...
iOS Zombie Objects 原理探索 Zombie Object 有什么用 僵尸对象一种用来检测内存错误(EXC_BAD_ACCESS)的对象,它可以捕获任何对尝试...
Objective-C编程语言是C语言的超集,在C语言的基础上加入了面向对象的内容。OC可以和C/C++混合使用,OC对象都可以转化为C/C++结构体表示。 要想知道一个NS...
堆和栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。堆,队列优先,先进先出(FIFO—first in first out);栈,...
最近很多同学问我,swift语言中,??是怎么回事。因为在微信交流中,问题不能被清晰表述,所以我很奇怪对于这么简单的一个运算符,会有这么多同学有疑问。后来随着对问题理解的深入...
这几天公司上线一个项目,改bug过程中,就遇到一个数组拷贝问题,废了半天劲儿才解决掉,特此详细研究了一下。其场景大概如下: A数组中存放着好多个自定义模型Person,Per...
RxSwift 核心原理解析 角色定位 观察者(Observer) 被观察者(Observable) 订阅者(Subscriber) 事件的最终处理者 管道(Sink) O...
今天梳理一下RxSwift核心逻辑想要理解RxSwift核心逻辑首先要熟悉swift语言的基本用法RxSwift使用函数式编程思想,一些基本使用我这里就不赘述了,大家可以看一...
前言 APP的启动优化,对开发者来说是一个永无止境的过程。开发者们在追求更快的路上,实现了一次又一次的突破(这里也包括Apple团队对操作系统的优化);而且启动优化也是面试经...
本文介绍App启动性能优化,共分五个部分: 第一部分App启动过程 第二部分pre-main阶段的过程和可优化项 第三部分main()阶段可优化项 第四部分启动耗时的测量 第...
Runloop 是和线程紧密相关的一个基础组件,是很多线程有关功能的幕后功臣。尽管在平常使用中几乎不太会直接用到,理解 Runloop 有利于我们更加深入地理解 iOS 的多...
作为 GSY 开源系列的作者,在去年也整理过 《移动端跨平台开发的深度解析》 的对比文章,时隔一年之后,本篇将重新由 环境搭建、实现原理、编程开发、插件开发、编译运行、性能稳...
一、WebDriverAgent的介绍 WebDriverAgent是由Facebook开发的一套开源框架,用于端对端的UI测试,能同时支持模拟器和真机。github地址 截...
前言: 按照时间顺序,事件的生命周期是这样的:事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到...
更多:iOS面试题大全 SDWebImage 一个为UIImageView提供一个分类来支持远程服务器图片加载的库。 功能简介: 工作流程 源码分析 主要用到的对象 一、图片...