gpt4 book ai didi

objective-c - isKindOfClass 在两个类(不是实例)上

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:51 24 4
gpt4 key购买 nike

名为 B 的类继承自 A (B : A)

[[B class] isKindOfClass:[A class]]

返回否

[[B new] isKindOfClass:[A class]]

返回是

所以左边的调用者必须是一个实例,但是如何对类做同样的事情呢?

最佳答案

- (BOOL)isKindOfClass:(Class)aClass

确实是一个实例方法(注意-)并且不会在类上工作

+ (BOOL)isSubclassOfClass:(Class)aClass

是一个类方法(注意 +),这就是您要查找的内容。

但是等等! NSObject Class Reference告诉我们“当一个类是消息的接收者时,只通过它的名字来引用它。在所有其他情况下 [...] 使用类方法。”

所以你将使用:

[B isSubclassOfClass:[A class]] 

关于objective-c - isKindOfClass 在两个类(不是实例)上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17890945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com