2016-04-28 29 views
0

在Swift中可以这样做吗?是否有可能像C#中一样检查Swift中的类型?

if (obj1.GetType() == obj2.GetType()) { /* do something */} 
+0

'如果OBJ1是obj2.dynamicType'? – jtbandes

+0

@jtbandes不幸的是,它不能编译这段代码 – mra214

+0

你可以通过if(obj1 === obj2)来检查objective1是否等于object2,如果这就是你正在寻找的。 –

回答

1

在这个问题 How do you find out the type of an object (in Swift)?
下面的几个例子中提到,您可以使用镜像结构:

let var1 = "Test" 
let var2 = "Hello World" 
let var3 = UIView() 
let var4 = UIView(frame: CGRect.zero) 

let mirror1 = Mirror(reflecting: var1) 
let mirror2 = Mirror(reflecting: var2) 
let mirror3 = Mirror(reflecting: var3) 
let mirror4 = Mirror(reflecting: var4) 

print(mirror1.subjectType == mirror2.subjectType) // true 
print(mirror2.subjectType == mirror3.subjectType) // false 
print(mirror3.subjectType == mirror4.subjectType) // true 
相关问题