IOS 3种内省方法
2024-10-08 12:50:56
IOS提供了3种内省方法
- isKindOfClass
检查当前实例是否为某类及其子类
UIView *b = [UIView new];
//... id a = b; if ([a isMemberOfClass:[UIView class]]) {
UIView *view = (UIView *)a;//强制转换
//利用UIView的方法...
} if ([a isKindOfClass:[UIView class]]) { }
- isMemberOfClass
检查当前实例是否为某类(不包括子类)
类似于isKindOfClass
- respondsToSelector
检查当前实例是否能对指定选择子做出响应,即是否存在指定函数
常用于检测委托是否实现了委托方法
id<xxxdelegate> a; if ([a respondsToSelector:@selector(delegateFun:)])
{
[a delegateFun:param1 Param:param2];
}
最新文章
- POJ3114 Countries in War (强连通分量 + 缩点 + 最短路径 + 好题)
- 20145320《Java程序设计》第一次实验报告
- centos下pip安装mysql_python
- Eclipse调试Java的十个技巧
- jQuery需要掌握的技巧
- 使用Windbg和SoS扩展调试分析.NET程序
- spring-boot 整合redis作为数据缓存
- Update Statistics用法
- bugku web 头等舱
- js bind0
- String StringBuilder 包装类
- JDBC driver for MySQL连接提示";The connection property &#39;zeroDateTimeBehavior&#39; acceptable values are: &#39;CONVERT_TO_NULL&#39;, &#39;EXCEPTION&#39; or &#39;ROUND&#39;. The value &#39;convertToNull&#39; is not acceptable.";解决方案
- 蓝牙协议分析(8)_BLE安全机制之白名单
- kali安装Google浏览器之后的问题
- 笔记:mysql升序排列asc,降序排列desc
- 分享:三种取消选中单选框radio的方法
- sql 变量赋值
- 简单AOP
- 《Real Time Rendering》第四章 图形变换
- java的初始化(编程思想)