小编典典

在 Objective-C 中,Java 的“instanceof”关键字等价于什么?

all

我想检查一个对象(例如someObject)是否可分配(可转换)给另一种类型的变量(例如SpecifiedType)。在 Java 中,我可以写:

someObject instanceof SpecifiedType

一个相关的问题是查找对象的运行时类型是否等于另一种类型。在 Java 中,我可以写:

someObject.getClass().equals(SpecifiedType.class)

如何在 Objective-C 中做到这一点?


阅读 60

收藏
2022-07-18

共1个答案

小编典典

尝试[myObject class]返回对象的类。

您可以与以下内容进行精确比较:

if ([myObject class] == [MyClass class])

但不是直接使用MyClass标识符。

同样,您可以通过以下方式查找对象是否属于您的类的子类:

if ([myObject isKindOfClass:[AnObject class]])

正如 Jon Skeet 和 zoul 所建议的那样。

2022-07-18