深入探索Objective - C的内省与文件系统操作
1. 内省机制
1.1 遍历超类列表
在Java和Objective - C中,都可以通过代码来遍历对象的超类列表。
Java示例:
Class objClass = object.getClass();
while (objClass!=null) {
…
objClass = objClass.getSuperclass();
}
Objective - C示例:
```objective - c
Class class = [object class];
while (class!=Nil) {
…
class = class_getSuperclass(class);
}
### 1.2 探索协议
正式协议(接口)与类是分开定义的。可以使用以下函数来识别类遵循的协议:
| 函数 | 返回值 |
| --- | --- |
| objc_getProtocol(const char*) | 具有该名称的协议 |
| NSProtocolFromString(NSString*) | 与objc_getProtocol相同,但接受Objective - C字符串对象 |
| class_copyProtocolList(Class,unsigned int*) | 类遵循的协议列表 |
| protocol_conformsToProtocol(Protocol*,Protocol*) | 如
超级会员免费看
订阅专栏 解锁全文
95

被折叠的 条评论
为什么被折叠?



