【问题标题】:Find out if an object is a class object rather than an instance of a class找出一个对象是否是类对象而不是类的实例
【发布时间】:2013-04-01 08:40:48
【问题描述】:

使用 Objective-C 运行时库,我们如何判断一个对象是类对象而不是类的实例?

【问题讨论】:

  • 您所说的“作为类的对象”和类的实例有什么区别?
  • @Boon:我很难想象什么时候这很重要。在任何重要的情况下,您应该已经知道您期望的是哪个。在您不知道的情况下,您通常需要关心的只是对象是否像鸭子一样嘎嘎叫。如果它很重要而您不知道,那么这听起来像是一个设计问题,发现答案只是一个创可贴。不过,我确实同意这是一个合理的问题。

标签: objective-c types introspection objective-c-runtime


【解决方案1】:

我知道的最简单可靠的方法是class_isMetaClass(object_getClass(yourObject))。 (这是可行的,因为类始终是元类的实例。)

【讨论】:

    猜你喜欢
    • 2012-08-14
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 2011-06-02
    • 2023-02-16
    相关资源
    最近更新 更多