Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Swift3中获取对象类型_Ios_Swift - Fatal编程技术网

Ios 如何在Swift3中获取对象类型

Ios 如何在Swift3中获取对象类型,ios,swift,Ios,Swift,代码如下,在OC中使用[touch.view class]获取对象类型,在Swift 3中如何获取 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {

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

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

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

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

type(of: yourObject)
例如:

let myString = "I'm a String!"

let myType = type(of: myString)

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

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

type(of: yourObject)
例如:

let myString = "I'm a String!"

let myType = type(of: myString)

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

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

let theType = type(of: someObject)
然后,您可以通过

let typeString = String(describing: type)
或者在一行中:

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

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

let theType = type(of: someObject)
然后,您可以通过

let typeString = String(describing: type)
或者在一行中:

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

类型(of:yourObject)使用this在这种情况下,您将使用
is
as?
作为这些答案中的副本。首先,您不应该使用字符串来比较这样的类。看看我的答案:每个人都在把这件事复杂化。您只需返回
return!(touch.view is UITableViewCellContentView)
type(of:yourObject)使用此选项在这种情况下,您将使用
is
as?
作为这些答案中的重复项。首先,您不应该使用字符串来比较这样的类。看看我的答案:每个人都在把这件事复杂化。您只需返回
return!(touch.view是UITableViewCellContentView)
在swift 4中,我得到警告:变量在其自身初始值中使用plz帮助只需为变量使用与“type”不同的名称即可。Swift 4可能已经更改了名称解析机制。如果您称其为objectType或其他名称,它应该可以工作。谢谢您,它可以工作:Din Swift 4我收到警告:变量在其自身初始值内使用plz HELP请为变量使用与“type”不同的名称。Swift 4可能已经更改了名称解析机制。如果您称其为objectType或其他名称,它应该可以工作。谢谢您,它可以工作:D