object_getClass与self.class的区别

object_getClass与self.class的区别

self.class:当self是实例对象的时候,返回的是类对象,否则则返回自身。

 + (Class)class
 {
       return self;
 }

   - (Class)class
 {
       return object_getClass(self);
 }

object_getClass:获得的是isa的指向

  Class object_getClass(id obj)
  {
      if (obj) return obj->getIsa();
      else return Nil;
  }

你可能感兴趣的:(object_getClass与self.class的区别)