iOS面向切面编程

这就是使用 AOP(Aspect-Oriented-Programming),翻译过来就是「面向切面编程」

通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。

简单来说,就是可以动态的在函数调用的前后插一段代码

  • 通过预编译和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术 。
    动态在函数调用前后插入一段代码 *
> [UIViewController aspect_hookSelector:@selector(viewWillAppear:)
> withOptions:AspectPositionAfter usingBlock:^(id<AspectInfo>
> aspectInfo, BOOL animated) {
>     NSLog(@"View Controller %@ will appear animated: %tu", aspectInfo.instance, animated); } error:NULL];

这样在 UIViewController 的 viewWillAppear: 被调用后,还会再调一下我们定义的 Block,这段日志就会被输出。而打点正好符合这种场景:正事干完之后,额外干一些跟业务无关的事情。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值