自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无忘无往

志在千里 始于跬步

  • 博客(4)
  • 收藏
  • 关注

原创 Objective-C runtime机制(1)——基本数据结构:objc_object & objc_class

前言从本篇文章开始,就进入runtime的正篇。什么是runtime?OC是一门动态语言,与C++这种静态语言不同,静态语言的各种数据结构在编译期已经决定了,不能够被修改。而动态语言却可以使我们在程序运行期,动态的修改一个类的结构,如修改方法实现,绑定实例变量等。 OC作为动态语言,它总会想办法将静态语言在编译期决定的事情,推迟到运行期来做。所以,仅有编译器是不够的,它需要...

2018-05-30 10:06:22 7202 3

原创 Objective-C runtime机制(前传2)——Mach-O格式和runtime

在前传1中,我们分析了解了XNU内核所支持的二进制文件格式Mach-O。同时还留了一个小尾巴,就是Mach-O文件中和Objective-C以及runtime相关的Segment section。今天,就来了解一下它们。OC之源起我们知道,程序的入口点在iOS中被称之为main函数:#import <UIKit/UIKit.h>#import &am

2018-05-25 16:20:55 2494

原创 Objective-C runtime机制(前传)——Mach-O格式

Mach-OMach-O是Mach Object文件格式的缩写。它是用于可执行文件,动态库,目标代码的文件格式。作为a.out格式的替代,Mach-O格式提供了更强的扩展性,以及更快的符号表信息访问速度。Mach-O格式为大部分基于Mach内核的操作系统所使用的,包括NeXTSTEP, Mac OS X和iOS,它们都以Mach-O格式作为其可执行文件,动态库,目标代码的文件格式。具体...

2018-05-21 22:28:50 3367 2

原创 iOS RunLoop完全指南

提起RunLoop,相信每个iOS开发都或多或少的听过,面试时也会经常作为压箱底的问题来问。之前写过RunLoop相关的内容,但是那时写的太浅,基本都是照着苹果文档的翻译。今天,就重新深入了解一下RunLoop。什么是RunLoop概念什么是RunLoop,顾名思义,RunLoop就是在‘跑圈’,其代码本质是一个do while循环。 RunLoop位于苹果的Core Found...

2018-05-16 23:02:21 12142 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除