美文网首页
【转载】objc反射机制

【转载】objc反射机制

作者: 学呀学呀总得学会了吧 | 来源:发表于2019-03-03 13:18 被阅读0次

    反射机制的基本概念:

    找了好久oc的反射机制,只能朦胧的得到一句:跟java的反射机制相似

    那么笔者就先贴上java语言的反射机制基本概念:在运行状态下,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法,这种动态获取信息,以及动态调用对象方法的功能叫java语言的反射机制;

    那么oc语言的反射机制与之类似是什么样的呢:在oc语言的反射机制跟java反射机制很相似,在oc中所有oc对象都继承NSObject类,这个类为我们提供了基础的方法和协议,我们可以直接调用这个类继承过来的方法,这个对象的基本信息,这大概就是oc语言的反射机制;

    现在基本有了反射机制的概念,我们平时开发过程中都怎么利用这种机制呢?

    反射机制的运用

    1.获取Class对象

    Class对象其实本质上是一个结构体,这个结构体的成员变量还是他自己。

    在开发过程中难免会碰到要判断两个对象是否同属一个类,我们可以调用他们的Class方法获取类对象比如:

    2.利用反射方法

    系统Foundation框架为我们提供了一些方法反射的API,由于oc语言的动态性,这些操作可以发生在运行时的。

    通过以上方法,我们可以将字符串与同名的oc对象动态的相互转化;

    3.常用判断方法

    在NSObject类中我们提供一些基础方法,用来做一些判断操作,这些方法都是发生在运行时动态判断的。

    利用这些判断方法,可以动态的判断一个对象是否有符合一些条件;例如是否是某个类是否是某个类的实例等。


    此文为转发用于记录总结 ,感谢大神们的总结分享。

    转自这儿

    相关文章

      网友评论

          本文标题:【转载】objc反射机制

          本文链接:https://www.haomeiwen.com/subject/fqepuqtx.html