如何在Swift3中获取对象类型

Ray*_*Woo 1 ios swift

代码如下,在OC中使用[touch.view类]获取对象类型,在Swift 3中如何获取它.

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {

if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
    return NO;
} else {
    return YES;
}
}
Run Code Online (Sandbox Code Playgroud)

Ped*_*lho 5

扩展@ jglasse的答案,您可以使用获取对象的类型

let theType = type(of: someObject)
Run Code Online (Sandbox Code Playgroud)

然后,您可以从中获取字符串

let typeString = String(describing: type)
Run Code Online (Sandbox Code Playgroud)

或者在一行中:

let typeString = String(describing: type(of: someObject))
Run Code Online (Sandbox Code Playgroud)