Я экспериментирую с обработкой ошибок и мне интересно, что я могу сделать с массивом типов классов.
Есть ли способ проверить, относится ли объект к типу, объявленному в массиве [Class.Type]?
Оператор "is" отказываетсяработать с типом, извлеченным из массива.Как я могу проверить, может ли объект быть приведен к этому типу или является экземпляром этого типа?
class FooError: NSError { ... }
class BarError: NSError { ... }
protocol ErrorHandling {
var types: [NSError.Type] { get }
func handle(error: NSError)
}
class ErrorHandler: ErrorHandling {
var types = [FooError.self, BarError.self]
func handle(error: NSError) {
for errorType in types {
if error is errorType {
}
}
}
}