【发布时间】:2020-05-19 13:37:03
【问题描述】:
我对 AnyObject 的用法有点困惑。让我举几个例子。
任何对象
NSObject() is AnyObject
^ 真(如预期)
class MyClass {}
MyClass() is AnyObject
^ 真(如预期)
class MyClass {}
MyClass.self is AnyObject
^ 真(如预期)
String() is AnyObject
^ 真(与预期不同)
struct MyStruct {}
MyStruct() is AnyObject
^ true(出乎意料;字符串似乎是一个结构)
String.self is AnyObject
^ 假(如预期)
Apple 文档中关于 AnyObject 的 sn-p:
AnyObject 可以用作任何类、类类型或纯类协议的实例的具体类型。
为什么struct的实例被视为AnyObject?
【问题讨论】: