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

作者 : 开心源码 本文共574个字,预计阅读时间需要2分钟 发布时间: 2022-05-14 共152人阅读

一、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

    image.png

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

三、其余关键字

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

谨以此作为平常少量心得记录,有不足之处各位大佬批评指正,不胜感激

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » OC基础知识点之class、superclass、super

发表回复