objective-c - 在 Objective-C 中,Java 的 "instanceof"关

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

someObject instanceof SpecifiedType

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

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

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

最佳答案

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

您可以进行准确的比较:

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

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

类似地,您可以通过以下方式确定对象是否属于您的类的子类:

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

按照 Jon Skeet 和 zoul 的建议。

关于objective-c - 在 Objective-C 中,Java 的 "instanceof"关键字的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/536396/

相关文章:

objective-c - 在 Objective-C 中将 NSArray 转换为 NSStrin

ios - 在没有 UITableViewController 的情况下拉取刷新 UITableVi

ios - iOS 7+ 中的 Base64 解码

ios - UICollectionView 中的单元格间距

ios - 如何更改 UIButton 标题颜色?

objective-c - 在 Objective-C 中转换为绝对值

iphone - @try - Objective-C 中的 catch block

ios - 等到两个异步 block 被执行后再开始另一个 block

iphone - 如何在 Objective-C 中定义和使用 ENUM?

objective-c - 禁用某些文件的自动引用计数