如何在Swift3中获取对象类型

时间:2017-04-10 16:49:01

标签: 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;
}
}

2 个答案:

答案 0 :(得分:5)

扩展@ jglasse的答案,您可以使用

获取对象的类型
let theType = type(of: someObject)

然后你可以通过

获取一个字符串
let typeString = String(describing: type)

或者在一行中:

let typeString = String(describing: type(of: someObject))

答案 1 :(得分:1)

在Swift 3中,要确定对象的类型,可以使用:

type(of: yourObject)

示例:

let myString = "I'm a String!"

let myType = type(of: myString)

print(myType) // prints "String\n"