大佬教程收集整理的这篇文章主要介绍了iOS RunTime:用例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,我发现许多文章将讨论关于课堂和课程的内容.方法调整.在哪种情况下@R_928_10@R_197_11289@@用它?
我也谷歌它发现它被广泛用于越狱开发.但是,我是一个非越狱的开发者,请不要越狱〜
谢谢!
@H_944_2@
混写
Swizzling是两种方法的标识符的交换,因此它们指向彼此的实现.这两种方法仍然可用.
使用swizzling而不是类别来保留方法的原始实现是有用的,并避免让两个类重写相同的方法(结果将是未定义的).
有关危险列表,请参阅https://stackoverflow.com/a/8636521/412916.
动态方法(有点)
见https://stackoverflow.com/a/13646650/412916
关联参考
关联引用是一种在不更改代码的情况下将实例变量添加到对象的方法.取消分配对象时,将自动删除关联引用.
内省
反思类的属性.例如,在JSON和模型的普通类之间进行映射.我想Mantle和Overcoat包装器都是这样的例子.
你应该阅读Objective-C Runtime Programming Guide.
这可能是最重要的用途.代码不是我的,我不记得原作者.
#include <objc/runtime.h> #import <Foundation/Foundation.h> @interface A: NSObject @end @implementation A void piLeofPoo(id self,SEL _cmd) { NSLog(@"@H_944_2@