迅速。检查Any是值类型还是引用类型

时间:2019-02-27 14:03:46

标签: swift

是否可以检查对象(不是OOP中的对象)是引用类型还是值类型?

let something : Any = getSomething() // func getSomething() -> Any
let isReferenceType : Bool = // how to check?

编辑: 如前所述,这实际上是Check if `Any` value is object

的副本

1 个答案:

答案 0 :(得分:2)

这看起来并不容易,请参见

let isReferenceType: Bool = type(of: something) is AnyClass

请参见How to test whether generic variable is of type AnyObject

但是,如果您需要这样的东西,那么通常您的体系结构会遇到一些大问题,应该改而解决。在特殊情况下,使用Any类型应该是最后的选择。

相关问题