klarm / RuntimeDemo

Objective-C Runtime机制的示例代码

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RuntimeDemo

Objective-C Runtime机制的示例代码,包含以下例子:

  • 方法解析和消息转发 - Message和MessageForwarding类
  • Associated Objects : NSObject+AssociatedObject Category
  • Method Swizzling:UIViewController+Logging Category

使用场景:在一个函数找不到时,Objective-C提供了三种方式去补救:

  • 1、调用resolveInstanceMethod给个机会让类添加这个实现这个函数

  • 2、调用forwardingTargetForSelector让别的对象去执行这个函数

  • 3、调用methodSignatureForSelector(函数符号制造器)和forwardInvocation(函数执行器)灵活的将目标函数以其他形式执行。

如果都不中,调用doesNotRecognizeSelector抛出异常。

About

Objective-C Runtime机制的示例代码

License:MIT License


Languages

Language:Objective-C 100.0%