我有一个 NSValue 对象,它可以“装箱”一个未知类型(CGPoint、CGRect 等)的实例,我需要在运行时确定这种类型。我将如何在 Swift 中做到这一点?
我试图做这样的事情:
if ((value as Any) is CGPoint) {}
else if (((value as Any) is CGRect)) {}
...
当value
是一个包含 CGPoint 的 NSValue 对象时,它不会进入 if 子句。然后我在打印value
时给了我NSPoint: {150, 150}
,我认为这就是为什么它永远不会出现在子句中。
任何想法为什么会发生这种情况以及如何解决它?
非常感谢!