在实际开发场景中,有时候我们需要在调用系统方法,或者某个类的方法的时候,增加自己的一些逻辑操作,这时候可以采用 方法交换 的方式去实现这个需求。这种方式也被称为 黑魔法(Me...
IP属地:北京
在实际开发场景中,有时候我们需要在调用系统方法,或者某个类的方法的时候,增加自己的一些逻辑操作,这时候可以采用 方法交换 的方式去实现这个需求。这种方式也被称为 黑魔法(Me...
背景: 在大型项目,企业级开发中多人同时维护同一个类,这样势必会导致当前类随着项目开展,变得臃肿,iOS中的分类(Category)就很好的解决了这个问题。 分类(Categ...
一、weak基本用法 weak是弱引用,用weak来修饰、描述所引用对象的计数器并不会加1,而且weak会在引用对象被释放的时候自动置为nil,这也就避免了野指针访问坏内存而...
Block 基础篇 Pre1:内存知识补脑 栈区(stack): 1: 存放的局部变量、先进后出、一旦出了作用域就会被销毁;函数跳转地址,现场保护等;2:程序猿不需要管理栈区...
面试题 讲讲 RunLoop,项目中有用到吗? RunLoop内部实现逻辑? Runloop和线程的关系? timer 与 Runloop 的关系? 程序中添加每3秒响应一次...
动画 另分享一张图片方便查阅(颜色色值):
设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器模式》《iOS设计模式(4)抽象工厂模式》《iOS设计模式(...
本文Demo传送门:MethodSwizzlingDemo 摘要:编程,只了解原理不行,必须实战才能知道应用场景。本系列尝试阐述runtime相关理论的同时介绍一些实战场景,...
本文Demo传送门:AssociatedObjectDemo 摘要:编程,只了解原理不行,必须实战才能知道应用场景。本系列尝试阐述runtime相关理论的同时介绍一些实战场景...