首页 > 其他 > 详细

oc中的反射机制

时间:2019-02-28 11:49:34      阅读:630      评论:0      收藏:0      [点我收藏+]

好久没有总结过了,一直在赶项目。。。

今天来总结一下OC中的反射机制,有什么不对的地方,还请多多海涵。

反射机制,简单的说就是在程序运行期间通过类的名字来动态的获取类的信息,从而实现动态的创建类,以及动态的调用类的方法等。

当我们在编码的时候不知道要创建哪个类的对象,需要在运行期间根据配置文件来获取我们要创建的对象的类的名字。这时候我们就可以通过反射机制,在程序运行期间通过类的名字获取类的信息。

OC中常用的反射机制的几种方法,基本上都在Founditon框架和NSObjct类的方法列表里面。

1.NSObjct类中的方法

技术分享图片

1. isKindOfClass

该方法用于判断一个对象是不是一个类或者这个类的字类的实例对象。

2. isMemberOfClass

该方法用于判断一个对象是不是一个类的实例对象

3.conformsToProtocol

该方法用于判读一个对象是否遵循了一个协议

4.respondsToSelector

该方法用于判断一个对象是否实现了这个方法

 

2.Foundation (NSObjCRuntime.h)

技术分享图片

1. NSStringFromSelector

该方法可以动通过一个 SEL 获取方法的名字

2. NSSelectorFromString

该方法可以通过方法的名字获取对应的 SEL

除了这种方法还可以通过下面的方面来获取

1、@Selector()

 

3. NSStringFromClass

该方法可以获取类的名字

4. NSClassFromString

该方法可以根据一个类的名字获取到这个类

 

除了这种方法,我们还可以通过下面的方法获取类的名字

1、[self class];

2、[Class class];

 

动态调用方法

1、[self performSelector:(id) withObject:(id)];

2、objc_msgSend(self,SEL,parameters) 

 

 

技术分享图片

 

oc中的反射机制

原文:https://www.cnblogs.com/danMing-love/p/10449069.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!