在Swift中使用isKindOfClass
我正在尝试学习一些Swift lang,并且想知道如何将以下Objective-C转换为Swift:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesBegan:touches withEvent:event];
UITouch *touch = [touches anyObject];
if ([touch.view isKindOfClass: UIPickerView.class]) {
//your touch was in a uipickerview ... do whatever you have to do
}
}
更具体地说,我需要知道如何isKindOfClass
在新语法中使用。
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) { ???
if ??? {
// your touch was in a uipickerview ...
}
}
回答:
正确的Swift运算符是is
:
if touch.view is UIPickerView { // touch.view is of type UIPickerView
}
当然,如果您还需要将视图分配给新的常量,那么if let ... as?
...语法就是您的孩子,就像Kevin提到的那样。但是,如果您不需要该值而只需要检查类型,则应使用is
运算符。
以上是 在Swift中使用isKindOfClass 的全部内容, 来源链接: utcz.com/qa/436104.html