Использование objc_getClassList под дугой - PullRequest
17 голосов
/ 04 января 2012

Кто-нибудь смог использовать objc_getClassList под дугой, если не считать выключения дуги для рассматриваемого файла?

Основная проблема заключается в том, что одним из параметров является массив C указателей классов.

1 Ответ

34 голосов
/ 04 января 2012

Этот код должен работать под ARC:

int numClasses;
Class *classes = NULL;

classes = NULL;
numClasses = objc_getClassList(NULL, 0);
NSLog(@"Number of classes: %d", numClasses);

if (numClasses > 0 )
{
    classes = (__unsafe_unretained Class *)malloc(sizeof(Class) * numClasses);
    numClasses = objc_getClassList(classes, numClasses);
    for (int i = 0; i < numClasses; i++) {
        NSLog(@"Class name: %s", class_getName(classes[i]));
    }
    free(classes);
}
...