class Cat {} struct Dog {} let cat = Cat() let dog = Dog() func checkIsClassValue(_ arg: Any) -> Bool { return (arg as AnyObject) === (arg as AnyObject) } checkIsClassValue(cat) // true checkIsClassValue(dog) // false
こういうの考えてるんですが、もうちょっと効率いい方法無いですかねfunc checkIsClassValue(_ arg: Any) -> Bool { return Mirror(reflecting: arg).displayStyle == .some(.class) }
こっちのほうが上品っぽい