iOS运行时以及HOOK的理解:runtime和method swizzling

本文探讨了iOS runtime机制及其核心功能Method Swizzling的应用。通过Method Swizzling可以在运行时替换方法实现,例如记录UIViewController的显示次数,从而避免大量重复代码。此外,还介绍了如何通过Category为系统类添加新方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. iOS runtime理解

runtime为hook提供基础

2. ios runtime浅析(三):Method Swizzling

(1)典型的应用就是,修改系统方法的实现: category + runtime

举个例子,比如你想记录一个iOS应用里每个view controller显示的次数:可以在每个view controller添加记录的代码,但这会导致大量的重复代码;通过继承也是一个方法,但需要同时创建UIViewController, UITableViewController, UINavigationController及其它中view controller的子类,同样也会产生许多重复的代码出现。


(2)单独的category可以为系统类添加新的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值