//所以类都继承于该类
//任何拥有isa指针都可以称为对象
NSObject {
Class _Nonnull isa ; // 结构体指针
}

// 因此 objc_class 也是对象 ,这也就是为什么说类也是对象,具体参加《深入浅出 Cocoa 教程》
struct objc_class {
Class _Nonnull isa OBJC_ISA_AVAILABILITY;

#if !__OBJC2__
Class _Nullable super_class //父类
const char * _Nonnull name //类名
long version OBJC2_UNAVAILABLE;
long info OBJC2_UNAVAILABLE;
long instance_size OBJC2_UNAVAILABLE;
struct objc_ivar_list * _Nullable ivars //变量列表
struct objc_method_list * _Nullable * _Nullable methodLists //方法列表
struct objc_cache * _Nonnull cache //缓存 可以直接无视
struct objc_protocol_list * _Nullable protocols //协议列表 具体遵守哪些协议
#endif

} OBJC2_UNAVAILABLE;

有了这些 我们就可以做很多事情
1. 动态添加属性、修改属性
2. 动态添加方法,修改方法
3. 获取对象属性列表
4. 查询某类是否遵循某一协议
5. 查询某类是否可以执行某一个具体的方法
6. 动态查找其父类 和 静态类

转载于:https://www.cnblogs.com/TengSys/p/8227683.html

ocRuntime基本功相关推荐

  1. CTO 基本功大盘点 —— 没有这些技能,谈何远大前程?

    本文由 「TGO鲲鹏会」原创,原文链接:CTO 基本功大盘点 -- 没有这些技能,谈何远大前程? 作者|刘海星 2018 年马上就要过去六分之一了,你的 KPI 完成多少了? 别沮丧,其实我想说的是: ...

  2. 美团方法论,苦练基本功

    有人问王兴:"我怎么能分阶段的提升我的职场核心技能呢?". 王兴说,除了常规的沟通和办事能力,还应分成三个阶段去学习. 第一阶段:要多了解,了解它有两种手段: 1)要找书读,找到这 ...

  3. python释放类对象_Python 基本功: 10. 面对对象-类 Class

    虽然 Python 可以写函数式编程,但是本质上是一门面对对象编程语言 (object-oriented programming language),简称 oop.面对对象编程是把代码包装成一个对象 ...

  4. 哈佛牙学院博士后:教你口腔保健基本功之牙线篇

    口腔保健基本功之牙线篇 作者:凡博士,哈佛大学牙学院,Forsyth牙科研究院博后,热衷公益,科研之余致力于传播口腔保健常识与科普,旨在推动中国全民口腔健康管理. 今天我们聊的话题对一部分人来说,应该 ...

  5. python多程优化_Python 基本功: 13. 多线程运算提速

    小编在前两天开通了一个 Python 金融的专栏,顺便用 TuShare 下载了几只 A股的数据,有兴趣的小伙伴可以去看一下: 多多教Python:Python 金融: TuShare API 获取股 ...

  6. 重构:一项常常被忽略的基本功

    摘要: 每一个程序员都应该读的一本书. 原文:重构:一项常常被忽略的基本功 作者:hengg Fundebug经授权转载,版权归原作者所有. 五月初的时候朋友和我说<重构>出第 2 版了, ...

  7. python结束不退出_Python 基本功: 1. Hello world

    上一篇文章帮助你设置了 Python 环境 多多教Python:Python 基本功: 0. 选择环境​zhuanlan.zhihu.com 当然如果你偏好是 Linux 或者 Windows, 那也 ...

  8. od 追踪_裁判员行为规范【基本功】——追踪裁判违例宣判练习 /五秒违例

    当打出一个违例手势后,固定它,并在你的脑海里默念一两秒.要求有力,干脆,清晰和果断的手势. 手势程序:⑴停表手势,(2)取消得分手势 / 口语并用 / 如需要),⑶对应的违例手势 / 口语并用,⑷比赛 ...

  9. 不是程序员学python有什么用-程序员的基本功:为什么非要用Python,其他语言不好吗?...

    原标题:程序员的基本功:为什么非要用Python,其他语言不好吗? Python能够这么火其中一个重要的原因是数据分析带起来的.Python的优点有很多,同样一个功能,其他语言需要写100行,而Pyt ...

  10. python程序员工作怎样-python程序员怎样在面试过程中展现自己的基本功

    原标题:python程序员怎样在面试过程中展现自己的基本功 当下我国人工智能招聘岗位需求不多,不过后期的发展潜力巨大,而且python程序员的薪资待遇并不比Java程序员的差,Python程序员往往都 ...

最新文章

  1. 磁珠,电感,零欧电阻之间的区别
  2. 防火墙 linux 端口,Linux配置防火墙端口 8080端口
  3. java安装好了打不开机_这都不犯规?王骁辉尺度把握得真好 难怪0+0+0能打20分钟...
  4. Gimmie — 一个创新的 GNOME 面板按次
  5. 怎么判断是不是欧拉回路_儿科医生分享:宝宝好动调皮?怎么判断孩子是不是多动症...
  6. php单机session消失_Session 失效的原因汇总及解决丢失办法
  7. 任务调度(三)——Timer的替代品ScheduledExecutorService简介
  8. 最全面的几何画板实用教程视频免费下载
  9. 八、pink老师的学习笔记—— CSS用户界面样式(鼠标样式、轮廓线、防止拖拽文本域)
  10. 基于JAVA+SpringBoot+Mybatis+MYSQL的课程评价系统
  11. 女生学的计算机专业有前途吗,计算机专业好不好 女生学计算机有前途吗
  12. 小程序页面启动过程分析
  13. Javascript:Ajax案例实操
  14. 谷歌高管地震:谷歌大脑联合创始人Samy Bengio离职了
  15. 低压电力线宽带载波通信互联互通技术规-总则
  16. C# 微信公众号开发
  17. python 自动下载脚本_Python实现115网盘自动下载的方法
  18. app营销实训报告_市场营销模拟软件实训报告
  19. android+cortana+语音唤醒,为什么语音唤醒Cortana咒语是“你好,小娜”?
  20. 文件管理(文件系统)

热门文章

  1. 这么好的课程,竟然免费!!!
  2. Raspberry install wine
  3. Object中的clone方法
  4. json读取json文件,上传到后台
  5. Js中去除数组中重复元素的4种方法
  6. 十四.jmter图形监控扩展
  7. linux 已有目录挂载磁盘
  8. 笔谈FFmpeg(二)
  9. DisplayX显示器测试、显示器屏幕检测
  10. 关于Validform