摘要: 为什么要有 RunLoop? 背景:线程执行完任务就会退出,但主线程(或者一些后台线程等)我们希望它能够一直存在、持续等待事件(触摸、定时器、网络回调等)。 原始的解决方案: 如果写成 while(1) {} 类似的死循环,会出现问题: 线程会持续占用 CPU(忙等待),浪费资源。 🍎给出的答案: 阅读全文
posted @ 2025-11-26 12:40 齐生 阅读(1) 评论(0) 推荐(0)
摘要: 核心概念 本质:runtime是 oc 的一个运行时库(libobjc.A,dylib),它为 oc 添加了 面向对象的能力 以及 运行时的动态特性。 面向对象的能力:rutime用 C 语言实现了类、对象、封装、继承、多态等面向对象的核心概念。 运行时的动态特性:runtime可以让很多操作可以在 阅读全文
posted @ 2025-11-12 20:16 齐生 阅读(13) 评论(0) 推荐(0)
摘要: 核心概念 本质:@property 是一组访问器方法的声明 (setter/getter) ,编译器可以自动“合成”「访问器」以及「底层存储(ivar)」,并且允许用点语法调用。 例如:@property (nonatomic) NSInteger age; 编译器等价(自动合成):{ NSInte 阅读全文
posted @ 2025-11-04 19:34 齐生 阅读(10) 评论(0) 推荐(0)
摘要: 核心概念 本质:一组较为稳定的事件回调。 从VC的生命周期谈起,并扩展讲讲部分相关的API。 UIViewController 1. 初始化阶段 +initialize: 类的初始化方法 - 时机:仅 oc,且首次初始化时才会调用。 -init: 实例的初始化方法 如果是从 xib/storyboa 阅读全文
posted @ 2025-11-04 17:03 齐生 阅读(14) 评论(0) 推荐(0)