在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在 Swift 中能够表示 “任意” 这个概念的除了Any 、AnyObject以外,还有一个 Any、AnyObject、AnyClass有什么区别:
1.AnyObject 本身就是一个接口,而且所有的class都隐式的实现了这个接口,这也限制了AnyObject是只适用于Class类型的原因。 AnyObject有什么用呢? 有过Objective-C开发经验的人肯定知道
2.Any 既然AnyObject是只适用于Class类型 ,那swift中的所有基本类型怎么办,这个时候呢Any就帮上忙了 Any不仅仅能够容括class类型 ,说得更直白一点, 就是所有的类型都可以用
3.AnyClass: 属于AnyObject.Type的别名:typealias AnyClass = AnyObject .Type 表示任意类的元类型,任意类的类型都隐式遵守这个协议,一般我们使用不多
总结的理解: 1. AnyObject :代表任何class类型的对象实例。 2. Any :范围更广,代表除函数外任何类型的实例。不仅包含object对象,还包含基本类型。 3. AnyClass:使用不多,更多体现在系统内的使用。
参考文献:http://swifter.tips/self-anyclass/ |
请发表评论