
iOS
文章平均质量分 86
jiodg45
这个作者很懒,什么都没留下…
展开
-
RunLoop实现原理
source: https://opensource.apple.com/source/CF/CF-855.17/CFRunLoop.cRunloop循环是线程基础的一部分,它维持了一个事件处理循环,用于计划工作和协调传入的事件,它的目标就是为了让线程有序高效的运行,在有工作的时候要保持忙碌状态,没有工作的时候让线程保持休眠状态。每个线程(包括应用程序的主线程)都有一个关联的运行循环对象,在App启动的时候,系统会默认的创建一个主线程的循环,用于处理主线程的任务,以及接收用户事件。子线程则需要显式地运行其运原创 2022-06-15 01:50:23 · 528 阅读 · 0 评论 -
Objective-C Runtime(二)创建对象
分配对象地址,init是用来清除地址上的数据,使其初始化objc源码地址:https://opensource.apple.com/tarballs/objc4/&person1代表的是当前指针的地址, 而person1则表示指针对象的地址,根据日志很容易得出指针变量: 存储在栈区, 高 -》 低 排列对象地址: 存储在堆区, 由低到高Alloc具体实现根据有如下几种方式创建类,最终调用了都指向了同一个方法alloc执行顺序NSObject创建objc_alloccal原创 2022-06-15 01:30:24 · 298 阅读 · 0 评论 -
Objective-C Runtime2.0(-)简介
相关资料引用https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008048-CH1-SW1https://developer.apple.com/videos/play/wwdc2020/10163/Objective-C一门动态语言, 它能在编译的时候转换为对应原创 2022-06-15 01:24:42 · 712 阅读 · 0 评论 -
iOS App启动原理
在工程中可以看到函数是程序的入口,其实在启动之前系统做了很多的工作,比如fork子进程,调用exec函数等,app的启动离不开系统内核的支持,所以在这之前需要对iOS系统架构有个基本了解Mac系统是基于内核的图形化操作系统,和系统架构层只有最上面的应用层框架部分有区别,使用的是框架, 而是框架,其余层的架构都是一样的应用层应用层基础框架核心框架层Drawin框架层应用层: 手机上的图形应用,如,等应用层框架: Cocoa框架,包括 Foundation,ApplicationKit,UIKit等,从功原创 2022-06-15 01:18:25 · 769 阅读 · 0 评论 -
Swift工程编译
理解`swift`和`Objective-C`的编译流程原创 2022-06-12 20:11:50 · 612 阅读 · 0 评论