是否可以检查对象(不是OOP中的对象)是引用类型还是值类型?
let something : Any = getSomething() // func getSomething() -> Any
let isReferenceType : Bool = // how to check?
编辑: 如前所述,这实际上是Check if `Any` value is object
的副本答案 0 :(得分:2)
这看起来并不容易,请参见
let isReferenceType: Bool = type(of: something) is AnyClass
请参见How to test whether generic variable is of type AnyObject
但是,如果您需要这样的东西,那么通常您的体系结构会遇到一些大问题,应该改而解决。在特殊情况下,使用Any
类型应该是最后的选择。