пятница, 27 июня 2014 г.

Как вывести список свойств и ivar ios Objective-c

Бывают случаи, когда нужно вывести список свойств и переменных класса, вот как это сделать:

        Class  downloadTaskClass = [downloadTask class];
        Class  taskClass = [downloadTaskClass superclass];
        Class  superTaskClass = [taskClass superclass];
        Class  superSuperTaskClass = [superTaskClass superclass];
        
        unsigned int count;
        Ivar * ivars = class_copyIvarList(downloadTaskClass, &count);
        for(unsigned int i = 0; i < count; ++i)
        {
            NSLog(@"%@::%s", downloadTaskClass, ivar_getName(ivars[i]));
        }
        NSLog(@"Properties: ");
        
        unsigned int outCount;
        objc_property_t * properties = class_copyPropertyList(downloadTaskClass, &outCount);
        for (unsigned int i = 0; i < outCount; i++)
        {
            objc_property_t property = properties[i];
            NSLog(@"%s %s\n", property_getName(property), property_getAttributes(property));
        }

Комментариев нет:

Отправить комментарий