Swift предоставляет ключевое слово is (и as?), чтобы проверить, может ли объект успешно сбрасываться:
if foo is MyClass {
// ...
}
Но NSObjectProtocol также предоставляет оригинальный func isKindOfClass(aClass: AnyClass!) -> Bool:
if something.isKindOfClass(MyClass) {
// ...
}
Для классов, соответствующих NSObjectProtocol, это действительно сильно отличается?