文章分类 - ios之runtime runloop NSInvacation
摘要:class_copyPropertyList 返回的仅仅是对象类的属性( @property 申明的属性),而 class_copyIvarList 返回类的所有属性和变量(包括在 @interface 大括号中声明的变量),下面做个简单的测试。首先,定义一个 Man 类 : @interface
阅读全文
摘要:为什么要NSInvocation,NSInvocation比performSelector 调用方法,根据方法名可以传递三个参数 -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ // perfor
阅读全文
摘要:https://blog.csdn.net/baidu_25743639/article/details/51793764 今天在学习runtime的method_exchangeImplementations进行方法交换的时候,将class_getInstanceMethod方法误写成class_
阅读全文
摘要:写这篇文章的起因: 从一个对象收到一个它无法响应的方法到崩溃之间发生了什么?这是J_Knight在最近在博客里面问到的一个问题。其实本质上是在问iOS的消息转发机制。类似的原理文章有很多,但大多数都是在单纯的讲原理,并没有讲解实际的用处。本文先对iOS的消息转发机制进行一个全面的原理讲解,并且在后面
阅读全文
摘要:http://www.itpub.net/2019/10/29/3869/ 引言:一个APP的启动与结束都是伴随着RunLoop循环往复的,不断的循环、不断的往复。当线程被杀掉、APP退出后被系统以占用内存为由杀掉,RunLoop就消失了。但平时开发中很少见到RunLoop,为何它如此神秘?本文跟大
阅读全文
摘要:https://www.cnblogs.com/weiming4219/p/7845609.html Runtime是什么?见名知意,其概念无非就是“因为 Objective-C 是一门动态语言,所以它需要一个运行时系统……这就是 Runtime 系统”云云。对博主这种菜鸟而言,Runtime 在实
阅读全文
摘要:https://www.jianshu.com/p/ec02c7cdf948
阅读全文
摘要:https://www.cnblogs.com/Rinpe/p/5620583.html 遇到一个问题,写了一个分类,但原先类的属性不够用。添加一个属性,调用的时候崩溃了,说是找不到getter、setter方法。查了下文档发现,OC的分类允许给分类添加属性,但不会自动生成getter、setter
阅读全文
摘要:一、变量声明 为便于下文讨论,提前创建父类Biology以及子类Person: Biology: @interface Biology : NSObject { NSInteger *_hairCountInBiology; } @property (nonatomic, copy) NSStrin
阅读全文
摘要:class_copyPropertyList返回的仅仅是对象类的属性(@property申明的属性),而class_copyIvarList返回类的所有属性和变量(包括在@interface大括号中声明的变量),下面做个简单的测试。首先,定义一个WFrequencyManager类 然后在测试类中写
阅读全文
摘要:一、_cmd _cmd表示当前方法的selector的一个指针,self表示指向当前对象的一个指针 例如: 比如,我们要打印当前要调用的方法,可以这样来写: - (void)viewDidLoad{ [super viewDidLoad]; NSLog(@"Current method: %@ %@
阅读全文
摘要:Method Swizzle 是 Objc Runtime 提供的几个黑科技之一, 它能够让我们在运行时替换已有方法来实现我们的一些需求。 但它在使用中也有一些需要注意的地方, 咱们来聊聊。 Method Swizzle 黑科技 相信有一些开发经验的同学,都用到过 Objc Runtime 的 Me
阅读全文