我在swift代码库中使用了一个objective-c库。该库可能会抛出异常。不幸的是,Swift 3中没有捕获异常。我如何解决这个问题?
答案 0 :(得分:0)
一般来说,使用Objective-C异常处理并不是一个好主意,但有时它是必要的。 ;)
Swift异常处理与Objective-C完全不同。您无法直接在Swift中捕获Objective-C异常。相反,你应该编写一个Objective-C包装器,e。 G:
index(where:)
您应该从Swift拨打@implementation NSDictionary(NoException)
- (id)noExceptionValueForKey:(NSString *)inKey {
@try {
return [self valueForKey:inKey];
}
@catch(NSException *anException) {
// More exception handling if neccessary
return nil;
}
}
@end
而不是noExceptionValueForKey:
。