首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Panini
掘友等级
iOS 小开发
帕尼尼带你一起写 iOS、Python,或者一起不务正业
获得徽章 3
动态
文章
专栏
沸点
收藏集
关注
作品
赞
29
文章 29
沸点 0
赞
29
返回
|
搜索文章
赞
文章( 29 )
沸点( 0 )
iOS底层原理:weak的实现原理
该方法的两个参数location和newObj。 从上面的代码可以看出objc_initWeak方法只是一个深层次函数调用的入口,在该方法内部调用了storeWeak 方法。下面我们来看下storeWeak 方法的实现代码。 如下是storeWeak方法的实现代码。 store…
iOS的OC的方法的查找原理
iOS的开发中我们会使用类中的各种方法,在OC中对方法的调用称为消息的发送。对方法函数的使用每一个iOS开发者都很熟悉的,但是方法函数是怎么在底层中是怎么查找的就是这篇文章主要来介绍的。 1. 方法的本质 其中sel_registerName函数相当于@selector,在Te…
iOS-isa属性
通过我的前一篇文章。我们可以得出,isa是对象alloc的时候,伴随初始化的一个属性。 其内部是一个联合体,其中包含一些类的信息。 得出结论:isa是一个isa_t结构的联合体,其中包含cls类指针,或者一个ISA_BITFIELD位域。 指信息在存储时,并不需要占用一个完整的…
KVO实现原理
在iOS开发中,我们可以通过KVO机制来监听某个对象的某个属性的变化。 Apple的文档提到KVO是使用了isa-swizzling的技术。当观察者注册对象的属性时,观察对象的isa指针被修改,指向中间类而不是真正的类。因此,isa指针的值不一定反映实例的实际类。另外还提到我们…
iOS 多线程
iOS开启线程的方案,常见的多线程场景 2. NSThread(OC) — 使线程变得可操作,有线程对象,线程的生命周期可以手动管理 3. GCD(C) — 可以充分地利用设备的多核,生命周期
iOS底层原理总结 - 探寻KVO本质
对小码哥底层班视频学习的总结与记录。面试题部分,通过对面试题的分析探索问题的本质内容。 首先需要了解KVO基本使用,KVO的全称 Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变。 上述代码中可以看出,在添加监听之后,age属性的值在发…
iOS 消息转发流程
当根据selector没有找到对应的method时,首先会调用这个方法,在该方法中你可以为一个类添加一个方法。并返回yes。下面的代码只是声明了runTo方法,没有实现。 如果resolveInstanceMethod没有实现,返回No,或者没有动态添加方法的话,就会执行for…
iOS 静态库和动态库对比
静态库:(.a或者.framework )在编译的时候会被直接copy一份,复制到目标程序里,编译完成之后,库文件实际就没有多大作用了,因为程序运行直接调用编译好的二进制文件,目标程序没有外部依赖可以直接运行。 动态库:在编译时不会被copy到目标程序,目标程序只会存储指向动态…
Rxjava工作原理总结
本质上是观察者模式:Observer(观察者)监听Observable(被观察者)。每个操作符实际上会创建一个Observable,其中配套会创建一个代理了下一级注册给它的Observer的Observer。在代码链的最后进行subsribe时,每一层的Observable会依…
零报错基于Virtualbox虚拟机搭建Linux(Ubuntu)的Android开发环境
Virtualbox安装包,直接到官网下载即可。 Ubuntu系统镜像,可以到清华大学开源软件镜像站 | Tsinghua Open Source Mirror下载。我下载的是Ubuntu-16.04.6,如果是64位的电脑下载amd64的,32位则下载i386的。 在Ubun…
下一页
个人成就
文章被点赞
26
文章被阅读
6,477
掘力值
193
关注了
3
关注者
4
收藏集
3
关注标签
16
加入于
2016-04-14