区别: self在实例方法中是对象的首地址;在类方法中是Class类 类方法存储在元类对象的方法列表中;实例方法存储在类对象的方法列表中 代码: objc_msgSend是通...
IP属地:宁夏
区别: self在实例方法中是对象的首地址;在类方法中是Class类 类方法存储在元类对象的方法列表中;实例方法存储在类对象的方法列表中 代码: objc_msgSend是通...
分类是通过runtime在运行时加入到宿主类上的,具体可参见app的启动流程 分类结构体 分类入口函数 从对应的类中获取还没有拼接的所有分类 获取到Category的Prot...
程序加载时,会加载静态库、动态库和二进制可执行文件等,由此引出几个问题:问题1❓:什么是静态库?什么是动态库?二者的区别是什么?问题2❓:app加载流程是怎样的? 当app启...
OC中没有绝对的私有变量和私有方法对于私有变量,例如在.h文件中使用@private修饰的变量;在.m文件中扩展中声明的变量和属性和方法默认都是@private私有的对于私有...
由于分类是不能直接添加成员变量的,因此需要使用关联对象技术为分类添加成员变量,由此引出几个问题:问题1❓:什么是成员变量,成员变量和实例变量还有属性的区别是什么?问题2❓:分...
重用机制 代码cell = [tableView dequeueReusableCellWithIdentifier:identifier]; 机制 系统会创建当前屏幕cel...
概念篇 什么是Block Block是就是一个对象,它封装了执行的函数和执行的上下文 Block就是将一个结构体实例赋值给一个函数指针 将一个结构体实例指针地址赋给一个 实现原理篇
321
2123
❓iOS中有哪些锁? @synchronized 一般在创建单例对象的时候使用,来保证在多线程环境下,创建对象是唯一的 atomic 修饰属性的关键字,对被修饰对象进行原子操...
散列表的内存管理方案,在源码中是通过SideTables()结构来实现的, SideTables()中有很多SideTable数据结构, SideTables()实际是一个哈...