首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
刘小壮
掘友等级
iOS开发工程师
世上真正能做大事的人,都是那些无小聪明而有大智慧的人。 大智若愚,
获得徽章 5
动态
文章
专栏
沸点
收藏集
关注
作品
赞
58
文章 56
沸点 2
赞
58
返回
|
搜索文章
最新
热门
探秘Runtime - 深入剖析Category
有了之前Runtime的基础,一些内部实现就很好理解了。在OC中可以通过Category添加属性、方法、协议,在Runtime中Class和Category都是通过结构体实现的。 和Category语法很相似的还有Extension,二者的区别在于,Extension在编译期就…
探秘Runtime - Runtime消息发送机制
在OC中方法调用是通过Runtime实现的,Runtime进行方法调用本质上是发送消息,通过objc_msgSend()函数进行消息发送。 例如下面的OC代码会被转换为Runtime代码。 发送消息的第二个参数是一个SEL类型的参数,在项目里经常会出现,不同的类定义了相同的方法…
探秘Runtime - Runtime加载过程
在iOS程序中会用到很多系统的动态库,这些动态库都是动态加载的。所有iOS程序共用一套系统动态库,在程序开始运行时才会开始链接动态库。 除了在项目设置里显式出现的动态库外,还会有一些隐式存在的动态库。例如objc和Runtime所属的libobjc.dyld和libSystem…
探秘Runtime - Runtime源码分析
本文基于objc-723版本,在Apple Github和Apple OpenSource上有源码,但是需要自己编译。 重点来了~,可以到我的Github上下载编译好的源码,源码中已经写了大量的注释,方便读者研究。(如果觉得还不错,各位大佬麻烦点个Star😁) 在对象初始化的…
探秘Runtime - 剖析Runtime结构体
在OC1.0中,Runtime很多定义都写在NSObject.h文件中,如果之前研究过Runtime的同学可以应该见过下面的定义,定义了一些基础的信息。 之前的Runtime结构也比较简单,都是一些很直接的结构体定义,现在新版的Runtime在操作的时候,各种地址偏移操作和位运…
探秘Runtime - Runtime介绍
OC语言是一门动态语言,会将程序的一些决定工作从编译期推迟到运行期。 由于OC语言运行时的特性,所以其不只需要依赖编译器,还需要依赖运行时环境。 OC语言在编译期都会被编译为C语言的Runtime代码,二进制执行过程中执行的都是C语言代码。而OC的类本质上都是结构体,在编译时都…
Flutter移动端实战手册
在进行iOS和Flutter的混编时,iOS比Android的接入方式略复杂,但也还好。现在市面上有不少接入Flutter的方案,但大多数都是千篇一律相互抄的,没什么意义。 进行Flutter混编之前,有一些必要的文件。 xcode_backend.sh文件,在配置flutte…
深入理解Flutter多线程
Flutter默认是单线程任务处理的,如果不开启新的线程,任务默认在主线程中处理。 和iOS应用很像,在Dart的线程中也存在事件循环和消息队列的概念,但在Dart中线程叫做isolate。应用程序启动后,开始执行main函数并运行main isolate。 每个isolate…
移动端开发新趋势Flutter
Flutter是Google开发的新一代跨平台方案,Flutter可以实现写一份代码同时运行在iOS和Android设备上,并且提供很好的性能体验。
个人成就
文章被点赞
798
文章被阅读
137,516
掘力值
3,839
关注了
12
关注者
2,801
收藏集
1
关注标签
11
加入于
2019-04-05