[String: AnyObject] 和 [String: Any] 有什么区别?
What is the difference between [String: AnyObject] and [String: Any]?
我一般用[String: AnyObject]
。但我注意到 Alamofire 使用 [String: Any]
。我在某处读到 Any
比 AnyObject
或 "encompasses" AnyObject
更 "superior"。但除此之外,我不知道它们之间是否有任何不同。如果我将字典定义为 [String: Any]
而不是 [String: AnyObject]
,长 运行 有什么缺点吗?谢谢。
Any 允许使用不同类型的混合,包括
函数和非 class 类型
例如 Int、String 和 Bool。根据文档,
这个数组中的元素是值类型的结构,所以理论上
AnyObject 在这些情况下不应该工作。
我们会将 AnyObject 用于 Class 类型,因为它们比 Any 更具体一些。但是同样,使用 AnyObject 只是一个选项。
您可以在此处找到更多说明。
我希望通过这个你所有的疑虑都会消失 link
https://medium.com/@mimicatcodes/any-vs-anyobject-in-swift-3-b1a8d3a02e00
我一般用[String: AnyObject]
。但我注意到 Alamofire 使用 [String: Any]
。我在某处读到 Any
比 AnyObject
或 "encompasses" AnyObject
更 "superior"。但除此之外,我不知道它们之间是否有任何不同。如果我将字典定义为 [String: Any]
而不是 [String: AnyObject]
,长 运行 有什么缺点吗?谢谢。
Any 允许使用不同类型的混合,包括 函数和非 class 类型 例如 Int、String 和 Bool。根据文档, 这个数组中的元素是值类型的结构,所以理论上
AnyObject 在这些情况下不应该工作。
我们会将 AnyObject 用于 Class 类型,因为它们比 Any 更具体一些。但是同样,使用 AnyObject 只是一个选项。
您可以在此处找到更多说明。 我希望通过这个你所有的疑虑都会消失 link
https://medium.com/@mimicatcodes/any-vs-anyobject-in-swift-3-b1a8d3a02e00