一尘不染

is和isKindOfClass()之间有区别吗?

swift

Swift提供了is关键字(和as?)检查对象是否可以成功向下转换:

if foo is MyClass {
    // ...
}

而且NSObjectProtocol还提供了原文func isKindOfClass(aClass: AnyClass!) -> Bool

if something.isKindOfClass(MyClass) {
    // ...
}

对于符合的类NSObjectProtocol,这真的有很大不同吗?


阅读 204

收藏
2020-07-07

共1个答案

一尘不染

是的,
这是有区别的:is在Swift中可以与任何类一起使用,而isKindOfClass()只能与属于NSObject或实现的那些类一起使用NSObjectProtocol

2020-07-07