首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
fgyong
掘友等级
程序猿
|
哈啰出行丨公众号『fgyong的开发日记』
Object-C、Swift、Flutter,路漫漫其修远兮,吾将上下而求索。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
27
文章 27
沸点 0
赞
27
返回
|
搜索文章
最新
热门
Swift汇编看枚举、类、闭包
这种方式在oc中可以正常使用,但是在Swift中不行。 内存大小不变,变的是最后一位由0x0变成了0x1。 其实枚举就是的思路和联合体比较相似,枚举占用的空间是其中最大元素的空间+1,就是这个枚举占用的空间。 利用最后一位来分辩是哪个类型,不存在switch .case是调用函…
那些常用的设计模式汇总
在iOS中Delegate使用单例模式保证只有一份对象,那么多个单例的情况,可以使用享元模式,降低了对象的读写次数,提高了性能,使用NSString、NSArray、NSMutableArray等使用了创建型的抽象工厂模式,保留了内部创建步骤,产出多个类型产品,AppDeleg…
iOS底层原理 MVC、MVP、MVVM、分层设计浅谈 — (13)
没有最好的架构,只有最适合业务的架构。 这里是VC中组装了tableview,model的数据在VC中在view中显示出来,当需要另外的数据的时候,只需要将model改成需要的model而无需更改tableview的代码兼容性较好。 MVC变种,其实就是将model和view建…
iOS底层原理 内存管理 那些你不知道的原理汇总 — (12)
CADisplayLink是将任务添加到runloop中,loop每次循环便会调用target的selector,使用这个也能监测卡顿问题。首先介绍下API 初始化之后,对fps使用了简单版本的读写锁,可以看到fps基本稳定在60左右,点击按钮返回之后,link和VC并没有正常…
iOS底层原理 多线程之安全锁以及常用的读写锁 --(11)
这篇文章主要讲解线程安全。 ATM肯定用过,你要是边取钱,边存钱,会出问题吗?当你取钱的时候,正在取,结果有人汇款正好到账,本来1000块取了100剩下900,结果到账200,1000+200=1200,因为你取的时候,还没取完,汇款到账了结果数字又加上去了。你取的钱跑哪里去了…
iOS底层原理 多线程之GCD 看我就够了 --(10)
上篇RunLoop已经讲过了RunLoop和线程的关系,以及Thread如何保活和控制生命周期,今天我们再探究下另外的一个线程GCD,揭开蒙娜丽莎的面纱。 GCD是什么呢?我们引用百度百科的一段话。 GCD 自动管理线程,线程创建,挂起,销毁。 串行是基于队列的,队列会自己控制…
iOS底层原理 RunLoop基础总结和随心所欲掌握子线程RunLoop生命周期 --(9)
上篇文章讲了runtime的简单应用,使用钩子实现了对字典和数组的赋值的校验,顺便随手撸了一个简单的jsonToModel,iOS除了runtime还有一个东西的叫做runloop,各位看官老爷一定都有了解,那么今天这篇文章初识一下runloop。 简单来讲runloop就是一…
iOS底层原理 runtime - super、hook、以及简单应用--(8)
那么今天我们再研究一下一些综合题目和runtime的一些应用。 void objc_msgSendSuper(void /* struct objc_super *super, SEL op, ... */ ) 汇编比较多,只看到第二行p1 = SEL, p16 = isa,查…
iOS底层原理 runtime- objc_msgSend拾遗基础篇--(7)
上篇我们讲过了iOS底层原理 runtime-object_class拾遗基础,arm64之后isa是使用联合体使用更少的空间存储更多的数据,以及如何自定义和使用联合体,objc_class->cache_t cache是一个是缓存最近调用class的方法,当缓存剩余空间小余1…
iOS底层原理 runtime-object_class拾遗基础篇--(6)
FYPerson定义了三个属性,占用空间是16字节,那么我们换一种方法实现这个三个属性的功能。 我们定义6个方法,3个set方法,3个get方法。 我们定义了一个char类型的变量_richTellHandsome,4字节,32位,可以存储32个bool类型的变量。赋值是使用_…
下一页
个人成就
文章被点赞
381
文章被阅读
124,270
掘力值
2,974
关注了
34
关注者
1,821
收藏集
9
关注标签
13
加入于
2016-01-11