Swift笔记<十六>Any、NSObject、AnyObject的区别

Any、NSObject、AnyObject的区别
  • Any
    • public typealias Any = protocal<>
    • 是"零"个协议
    • 任何类型都遵循这个协议
    • 涵盖范围大
  • AnyObject
    • @objc public protocol AnyObject{}
    • 一个具体协议,协议里面没有内容,默认情况下所有类都遵循这个协议
  • NSObject
    • open class NSObject:NSObjectProtocol
    • 遵循了NSObjectProtocol协议的类
    • 涵盖范围最小(NSObject类或其子类的实例对象)

你可能感兴趣的:(Swift笔记<十六>Any、NSObject、AnyObject的区别)