将我的一些代码从Objective-C转换为Swift.陷入了类型转换声明的组合:
if (![[array objectAtIndex:0] isKindOfClass:[BaseView class]]) { //Throw an exception }
由于分支应该抛出异常,我使用的是guard语句而不是if-else.到目前为止,我已经做了以下事情:
guard NSArray(array: array).objectAtIndex(0) else { //throw SomeException }
请引导其余部分,如何使用isKindOfClass
,我也怀疑NSArray
类型转换的正确性
更正确的方法是使用is
,因为它意味着要替换isKindOfClass
.
guard array.first is BaseView else { // Throw exception if its not a BaseView subclass }