首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
技术狂热爱好者
更多收藏集
微信扫码分享
微信
新浪微博
QQ
34篇文章 · 0订阅
用代码探讨 KVC/KVO 的实现原理
关于KVC/KVO的实现原理,网上的相关介绍文章很多,但大部分说的比较抽象,难以真切的理解,下面我们直接撸代码来实地探讨下。 ①->⑨全部执行成功; 其中①③④⑥ 执行了setter方法,⑦⑧执行了getter方法,②⑤⑨直接访问的实例变量。 1.访问器匹配:先寻找与key,i…
iOS超级超级详细介绍GCD
Grand Central Dispatch(GCD)是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。由于线程管理是作为系统的一部分…
我所理解的 iOS 并发编程
无论在哪个平台,并发编程都是一个让人头疼的问题。庆幸的是,相对于服务端,客户端的并发编程简单了许多。这篇文章主要讲述一些基于 iOS 平台的一些并发编程相关东西,我写博客习惯于先介绍原理,后介绍用法,毕竟对于 API 的使用,官网有更好的文档。 为了便于理解,这里先解释一些相关…
iOS底层原理总结 - Category的本质
Category的实现原理,以及Category为什么只能加方法不能加属性。 load、initialize的区别,以及它们在category重写的时候的调用的次序。 首先我们写一段简单的代码,之后的分析都基于这段代码。 我们之前讲到过实例对象的isa指针指向类对象,类对象的i…
iOS架构设计解耦的尝试之模块间通信
iOS架构设计解耦的尝试之模块间通信 改系列文章是2016年折腾的一个总结,对于这一年中思考和解决的一些问题做一些梳理和总结。 前两篇文章主要是说了业务逻辑接口还有模块化的事情。随着系统内部逻辑单元(可能是模块,也可能是为了解耦拆解出来用来承载职责的类等常见的实现)的增多。势必…
WWDC 2018:iOS 内存深入研究
对于我们的 App 所依赖的设备而言,内存资源是有限的。降低 App 所使用的内存可以提高性能和体验,相反,过大的内存占用可能会导致 App 被系统强制退出。所以每个 iOS 开发者都应该关注内存问题。这一节新的内容不多,基本上都是一些老的知识点。 在探讨内存之前,我们要知道为…
iOS Category 详解
iOS Category 详解
iOS 面向协议方式封装空白页功能
之前的文章中提到了,协议除了起规范作用,还有别一个用处,就是赋予能力。我们现在的目的就是让目标控制器或者目标视图在遵守我们的协议后,就可以有实现空白页的功能。 通过上述步骤后,只要让UIViewController遵守我们的协议,再调用一下lxf_EmptyDataSet方法就…
Hook方法的新姿势--Stinger (使用libffi实现AOP )
众所周知,使用runtime的提供的接口,我们可以设定原方法的IMP,或交换原方法和目标方法的IMP,以完全代替原方法的实现,或为原实现前后相当于加一段额外的代码。 使用知名的AOP库 Aspects ,可以更便捷地为原方法实现前后增加(代替)额外的执行。 另外,Aspects…
天下无难试之HTTP协议面试刁难大全(上)
小编是一个非典型面试官,对于HTTP协议的第一个问题,一般人会问常用的状态码有哪些。小编不这么问,小编的问题是HTTP的全称是什么,把英语给我说出来! 超文本传输协议,HyperText Transfer Protocol,这几个单词可别发走音了。所谓的超文本就是带标记的文本,…