首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Objec--底层
OSMin
创建于2022-04-08
订阅专栏
object底层原理
等 1 人订阅
共8篇文章
创建于2022-04-08
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Objective-C 的 MethodSwizzling
方法混淆在Objective-C中的使用还是比较常见的,要搞清楚它的本质,首先要理解两个概念。 一、运行时(runtime) Objective-C是一门动态语言,有着非常灵活的运行时特性。runti
isKindOfClass 和 isMemberOfClass
日常开发中,经常使用-isKindOfClass来判断对象是否是某个类或其父类(继承链上的类),但很少使用-isMemberOfClass,它们之间到底有什么不同,本篇文章就从objc源码来剖析它们的
Objective-C中的 self 和 super
在Objective-C的开发中,经常使用self和super关键字,self是调用对象本身的方法,而super是调用父类的方法。那么本篇文章来研究一个有意思的问题。 一、提出问题 在objc源码工程
iOS 组件化
当我们的项目用cocoapod进行三方库的管理时候,我们的项目下层依赖就会cocoapod,那么我们的项目是怎样查找到需要使用的三方库(比如AFNetWorking)呢?,如下图,我们cocoapod的本地库中,在master/specs下后面的0/a里面放着我们来下的的三方的…
ios 底层探索———KVO
KVC (Key-Value Coding), 是利用 NSKeyValueCoding 非正式协议实现的一种机制, 对象采用这种机制来提供对其属性的间接访问。当对象采用该协议时, 可以通过简洁统一的方法来访问其属性。简单来说, 就是我们在开发中可以通过key名直接访问对象的属…
面试题:关于类拓展 && 分类添加属性&&load调用时间&&initialize调用时间
一. 类拓展和分类的区别 区别:类拓展可以添加属性,方法;分类只能添加方法。因为 类拓展在编译时完成加载,数据写入到ro中,而分类在运行时加载,所以数据写入到rw中,没有实现set和get方法,所以无法将属性的值赋值进去,也无法取到。 类拓展在代码实现形式有2种方式,第一种写到…
类的动态创建(ro,rw)& 懒加载类和非懒加载类底层加载的区别 & 类和分类的搭配分析
1.一个参数取地址了,一个没有,两种写法是一样的,只是语法不同的问题。 2.:先添加set,get方法才能调用setValue forKey,否则报错 无法添加进去。
消息的转发机制
方法查找未找到时候,会来到方法决议。 在.main 中调用 Student 类方法sayLove,Love在Student继承的LGPerson中声明,但是未实现。 在.main 中创建Student 的对象 调用 对象方法saySomething,saySomething在S…