首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Temp
订阅
Karl87
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
iOS 底层 - 手把手带你探索OC方法的本质
说到任何关于 OC 本质的东西 , 我们不得不提一下 Runtime 这个东西 . 这里只是简单了解一下 Runtime , 为我们探索方法本质提供一些帮助 , 后续更新详细的 Runtime 机制和具体使用 . ◈ Objective-C 扩展了 C 语言,并加入了面向对象特…
iOS底层原理 RunLoop基础总结和随心所欲掌握子线程RunLoop生命周期 --(9)
上篇文章讲了runtime的简单应用,使用钩子实现了对字典和数组的赋值的校验,顺便随手撸了一个简单的jsonToModel,iOS除了runtime还有一个东西的叫做runloop,各位看官老爷一定都有了解,那么今天这篇文章初识一下runloop。 简单来讲runloop就是一…
iOS 从源码深入探究weak的实现 | 掘金技术征文
关于weak的知识我就不再多说,直接开始我们的源码分析之旅 __weak id __week obj1 = obj;编译器的模拟代码 id obj1; obj1 = 0; objc_storeWeak(&obj1, obj); objc_storeWeak(&obj1, 0);…
我是如何让微博绿洲的启动速度提升30%的
绿洲iOS研发工程师,绿洲ID:收纳箱KeepFit。 0. 序言 启动是App给用户的第一印象,对用户体验至关重要。试想一个App需要启动5s以上,你还想用它么? 最初的工程肯定是没有这些问题的,但随着业务需求不断丰富,代码越来越多。如果放任不管的话,启动时间会不断上涨,最后…
iOS探索 isa面试题分析
面试题是面试官用知识点变着法玩你的一种手段,同时也能表现出你掌握知识的熟练度。只有在平时多练习多研究,才能在面试的时候给面试官留下一个好的印象
Aspects深度解析-iOS面向切面编程
Aspects对于hook的生效作用域做了区分:所有实例对象&某个具体实例对象。对于所有实例对象在整个继承链中,同一个方法只能被hook一次,这么做的目的是为了规避循环调用的问题(详情可以了解下supper关键字) 最后欢迎关注笔者公众号:【码上work】,本公众号致力于浅显易…
NSNotification,看完你就都懂了
大概意思是,若想 objectA 需要调用 objectB 的一个方法,一般来说,需要 objectA 中能访问到 objectB,但是这是一种不受欢迎的会造成耦合的方式。所以,引入了一个新机制,叫 NSNotificationCenter,由 NSNotificationCenter 管理 objectB 等注册的 object,而 objectA 不需要知道 objectB,只需要通过标记(例如 NotificationName)在 NSNotificationCenter 中找到对应的 object,从而调用该 object 的方法。无疑,这是一种松耦合,并且允许多对多的一种方式。
(建议收藏)TCP协议灵魂之问,巩固你的网路底层基础
TCP 作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。 001. 能不能说一说 TCP 和 UDP 的区别? TCP是一个面向连接的、可靠的、基于字节流的传输层协议。 而UDP是一个面向…
KVO与Aspects共存研究
在对Obj进行先KVO再Hook其setter函数后,调用obj的setter函数崩溃。 反之,若先Hook再KVO,则正常运行。 1.先对比两种添加顺序,导致的obj的isa和函数列表的不同。 通过下面的函数打印出,当前的obj→isa 及其函数列表。 对比可以发现,如果先K…