ice*_*ace 11 xcode objective-c xcode4
我是XCode的新手.我想知道如何知道所有类符合XCode 4.3.1中的某些协议?我如何知道一个类的所有子类?
Kur*_*vis 18
objc_getClassList获取Classes 的列表class_getSuperclass或者-superclass走超级链的方法class_conformsToProtocol或者-conformsToProtocol:检查类是否符合协议的方法Protocol *protocol = @protocol(YourProtocol);
int numberOfClasses = objc_getClassList(NULL, 0);
Class *classList = malloc(numberOfClasses * sizeof(Class));
numberOfClasses = objc_getClassList(classList, numberOfClasses);
for (int idx = 0; idx < numberOfClasses; idx++)
{
Class class = classList[idx];
if (class_getClassMethod(class, @selector(conformsToProtocol:)) && [class conformsToProtocol:protocol])
{
NSLog(@"%@", NSStringFromClass(class));
}
}
free(classList);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4928 次 |
| 最近记录: |