0
点赞
收藏
分享

微信扫一扫

OC基础知识点之class、superclass、super

IT影子 2021-09-21 阅读 74

一、class、superclass

  • class方法、最终实现都是在NSObject中实现的;
  • object_getClass(id _Nullable obj)传入一个对象返回类的类型
  • class的实现
- (Class)class {
  return object_getClass(self);
}
  • superclass的实现
- (Class)superclass {

  return class_getSuperclass(object_getClass(self)); // 取决于消息的接收者;
}

二、super

  • super 接收两个对象、一个是id receiver即是消息接收者,另一个是current_class


  • super 决定的是从父类开始查找方法的实现;
  • 消息的接收者仍是子类的对象;
  • current_class是receiver的Class对象;

三、其他关键字

  • @synthesize: 自动生成setter、getter、及成员变量
  • @dynamic: 提醒编译器不要生成setter、getter、及成员变量;运行时自己添加
  • IMP:函数地址;
    • c语言的函数地址就是函数名称
  • 方法签名:方法的返回值、参数类型;
  • NSInvocation封装了一个方法调用,包括:方法调用者、方法名、方法参数
  • invoke:调用
举报

相关推荐

0 条评论