swift – “is”和isKindOfClass()之间有区别吗?

swift – “is”和isKindOfClass()之间有区别吗?,第1张

概述Swift提供了is关键字(和as?)来检查一个对象是否可以被downcast成功: if foo is MyClass { // ...} 但是NSObjectProtocol也提供了原来的func isKindOfClass(aClass:AnyClass!) – >布尔: if something.isKindOfClass(MyClass) { // ...} 对于符合 Swift提供了is关键字(和as?)来检查一个对象是否可以被downcast成功:
if foo is MyClass {    // ...}

但是NSObjectProtocol也提供了原来的func isKindOfClass(aClass:AnyClass!) – >布尔:

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

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

是的有区别:是与任何类在Swift,而isKindOfClass()只适用于那些类是NSObject的子类或以其他方式实现NSObjectProtocol的类。 总结

以上是内存溢出为你收集整理的swift – “is”和isKindOfClass()之间有区别吗?全部内容,希望文章能够帮你解决swift – “is”和isKindOfClass()之间有区别吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1055982.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存