isKindOfClass 和 isMemberOfClass 之间的 iOS 区别 [英] iOS difference between isKindOfClass and isMemberOfClass
问题描述
isKindOfClass:(Class)aClass
和 isMemberOfClass:(Class)aClass
函数有什么区别?我知道它很小,一个是全局的,而另一个是精确的类匹配,但我需要有人指定哪个是哪个.
What is the difference between the isKindOfClass:(Class)aClass
and the isMemberOfClass:(Class)aClass
functions?
I know it is something small like, one is global while the other is an exact class match but I need someone to specify which is which please.
在 Swift 中 isKind(of aClass: AnyClass)
和 isMember(of aClass: AnyClass)
.
In Swift isKind(of aClass: AnyClass)
and isMember(of aClass: AnyClass)
.
推荐答案
isKindOfClass:
返回 YES
如果接收者是一个实例指定的类或从指定的类继承的任何类的实例.
isKindOfClass:
returns YES
if the receiver is an instance of the specified class or an instance of any class that inherits from the specified class.
isMemberOfClass:
当且仅当接收者是指定类的实例时返回YES
.
isMemberOfClass:
returns YES
if, and only if, the receiver is an instance of the specified class.
大多数时候您想使用 isKindOfClass:
来确保您的代码也适用于子类.
Most of the time you want to use isKindOfClass:
to ensure that your code also works with subclasses.
NSObject 协议参考 讨论了更多关于这些方法.
The NSObject Protocol Reference talks a little more about these methods.
这篇关于isKindOfClass 和 isMemberOfClass 之间的 iOS 区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!