美文网首页
AnyObject AnyClass学习理解

AnyObject AnyClass学习理解

作者: gerrywanggang | 来源:发表于2019-11-03 21:43 被阅读0次

    AnyObject和AnyClass既有区别又有联系,主要联系:

    1. AnyObject和AnyClass实际上都是协议,在swift中的协议一般也可以当做一种类型来看. 可以说他们都是指的一种类型

    2. 作为一种类型来说,指的是什么呢?指的是对象满足这个协议。在swift中,这些对象是swift默认设置的,程序员无法改变,只能使用。

    区别:

    1. 对AnyObject来说,这些对象是所有的class的实例,还有class type的实例。

    2. 对AnyClass来说, 这些对象只能是class type的实例。

    class type是什么呢?class type指的是实例是类(就是类对象)的数据类型。如let a : NSObject.Type = NSObject.self, a的类型就是所谓的class type

    因为AnyObject也可能是类的类型如NSObject.Type,那么AnyClass也就可能为类的类型的类型, 如:NSObject.Type.Type

    如 let b : AnyObject = NSObject.self, let c : AnyClass = b.self, 那么c的类型实际为NSObject.Type.Type

    依次类推

    相关文章

      网友评论

          本文标题:AnyObject AnyClass学习理解

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