内省(Introspection)是对象揭示自己作为一个运行时对象的详细信息的一种能力.NSObject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识别.

  在iOS开发过程中,有效的使用内省方法.有助于避免错误地进行消息派发、错误地假设对象相等、以及类似的问题.明智地使用内省可以使面向对象的程序更加高效和强壮.

  OC中的内省方法有:

  1,isKindOfClass:检查本实例对象,是否是某个类的对象,包括继承的子类.

  2,isMemberOfClass:检查本实例对象,是否是某个类的对象,不包括继承的子类.

  3,respondsToSelector:检查本实例对象是否能调用此方法

  4,conformsToProtocol:检查本实例对象是否遵守了某个协议,并实现了此协议的@required方法

参考博客:http://mikixiyou.iteye.com/blog/1743868

转载于:https://www.cnblogs.com/iOS771722918/p/4456316.html

OC中的内省方法初探相关推荐

  1. OC基础--OC中的类方法和对象方法

    PS:个人感觉跟C#的静态方法和非静态方法有点类似,仅仅是有点类似.明杰老师说过不要总跟之前学过的语言做比较,但是个人觉得,比较一下可以加深印象吧.重点是自己真的能够区分开! 一.OC中的对象方法 1 ...

  2. 浅谈OC中Block的本质

    Block简介 block是将函数及其执行上下文封装起来的一个对象 在block实现的内部,有很多变量,因为block也是一个对象 其中包含了诸如isa指针,imp指针等对象变量,还有储存其截获变量的 ...

  3. iOS底层探索二(OC 中 alloc 方法 初探)

    前言 相关文章: iOS底层探索一(底层探索方法) iOS底层探索三(内存对齐与calloc分析) iOS底层探索四(isa初探-联合体,位域,内存优化) iOS底层探索五(isa与类的关系) iOS ...

  4. JS与OC中的方法相互调用

    文章主要是介绍oc如何调用js 以及js的代码调用oc的方法 先上代码后做解释 //oc的.m 的代码 //ps接下来有js的代码一并解析,最后会附上demo //  ViewController.m ...

  5. OC中数组排序的3种方法

    总结OC中数组排序3种方法:sortedArrayUsingSelector:;sortedArrayUsingComparator:;sortedArrayUsingDescriptors: 大体上 ...

  6. c语言访问oc变量,OC中的方法调用流程

    OC是一门动态语言,其方法调用方式与C++还是有很大区别的. 具体的方法调用过程,可以参考下面一片枫叶的博客,写的还是很详细的. 对于OC的方法调用,有两个点是重点: 1.对于OC的一切方法调用,最终 ...

  7. OC中调用Swift代码方法

    最近在项目中使用到了Swift语言写的第三方的框架,所以在这里将OC中使用Swift的方法说明一下. 1.首先要在Build Setting中进行相关配置 2.在Podfile文件中要加上use_fr ...

  8. oc中写c语言的方法,OC语言description步骤和sel

    OC语言description方法和sel OC语言description方法和sel 一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) ( ...

  9. OC中的方法、设置器与访问器、便利初始化函数及便利构造器的相关问题

    OC中的方法 方法:类的功能代码,在<.h>文件中声明,在<.m>文件中实现. 语法: -|+(返回值类型)方法名:(参数类型)参数名 { //方法体 } 示例: -(void ...

最新文章

  1. mysql中usage是什么权限?
  2. Python基础入门:常用的os操作
  3. access如何保存小数点后_跟宇哥学习Access数据库是怎样一种体验?(1)
  4. WebBrowser加载完毕后再往下执行
  5. 随机JCache内容:多个提供程序和JMX Bean
  6. java婚庆网站源码_基于jsp的婚庆网站-JavaEE实现婚庆网站 - java项目源码
  7. python 几种常用测试框架
  8. 2011系统架构师大会分享-自动化运维中的关系管理
  9. 2017.10.28 管道取珠 失败总结
  10. tps波动很大的原因_情绪波动很大是什么原因?怎么调节?
  11. matlab engevalstring,Matlab 執行engEvalString命令介紹 | 學步園
  12. 计算机网络学习笔记(30. DNS记录和消息)
  13. SLAM之g2o安装
  14. 【qq语音获取好友ip】wireshark
  15. 自适应波束形成matlab,自适应波束形成matlab
  16. 2021WSB-day2-4: Raffaele教授演示利用OpenCV和Python实现一个指纹识别系统 (含代码) part6
  17. web安全之SQL注入(三)
  18. 并列关系表合集PPT模板
  19. C#快速调用海康威视工业相机的SDK拍照获取图片
  20. 最全Visual Studio版本号对应表VisualStudioVersion

热门文章

  1. vnpy通过jqdatasdk初始化实时数据及历史数据下载
  2. 帆软报表插件开发之fine-decision中的EmbedRequestFilterProvider扩展
  3. leetcode hot 3-4
  4. 陕西师范大学计算机学院课表,陕西师范大学数学和信息科学学院课程表.doc
  5. 校友录管理系统设计c语言,校友录管理系统分析设计分析.doc
  6. 操作手册模板_挂蓝悬臂浇筑箱梁施工技术操作手册
  7. HNU 实验五 猴导师
  8. python网络爬虫学习笔记(十):数据存储
  9. pytorch学习笔记(十五):模型构造
  10. 《深度学习笔记》——loss函数的学习笔记