关于Runtime那点事

      对于runtime的理解,顾名思义就是运行时机制,OC是动态语言,需要执行的时候才用方法选择器刷选出对于方法发送消息。自己日常使用中主要有两点,一个是category的属性,还有一个是关联系统的方法,使其执行自己的方法。

1.拓展类的属性。


关于Runtime那点事_第1张图片
拓展类的属性

2.关联系统的方法,如需要在每个viewWillAppear执行对于的函数可以如下所示,然后将头文件导入.pch文件即可。

关于Runtime那点事_第2张图片
关联系统的方法

知乎的回答

知识点补充

_cmd在Objective-C的方法中表示当前方法的selector,正如同self表示当前方法调用的对象实例。

__PRETTY_FUNCTION__打印对象的函数信息。NSLog(@"%s",__PRETTY_FUNCTION__);

load,加载类的时候会调用,ios启动的时候会加载所有的类,那么这个函数会被调用,

这个函数对动态库和静态库中的类或(Category)都有效。

initialize 类首次使用的时候调用initialize方法 

ObjecData*data = [[ObjecData alloc]init];

这个时候会调用,但是自始至终都只调用一次。

你可能感兴趣的:(关于Runtime那点事)