AnyObject is a protocol that automatically matches any type of class, so you can write:
func isReferenceType(toTest: Any) -> Bool {
return toTest.dynamicType is AnyObject
}
class Foo { }
struct Bar { }
isReferenceType(Foo())
isReferenceType(Bar())
isReferenceType("foo")
isReferenceType(123)
isReferenceType([1,2,3])
source
share