цель c динамически получать свойства nsobjects

Я пытаюсь динамически получить свойства класса. это мой метод

+(NSArray *)getDictionaryKeysFromObjClass:(NSObject *)objClass{

    NSMutableArray *classProperties = [[NSMutableArray alloc] init];
    const char* className = class_getName([objClass class]);
    id ObjectClass = objc_getClass(className);

    unsigned int outCount, i;
    objc_property_t *properties = class_copyPropertyList(ObjectClass, &outCount);

    for(i=0; i<outCount; i++){
        objc_property_t *property = properties[i];
        //[classProperties addObject:property];
        NSLog(@"Property > %@", property);
    }

}

Поэтому я не уверен, правильно ли я это делал, когда я называю это так:

NSMutableArray *testarr = [WCFServiceRequest getDictionaryKeysFromClass:[MyFirstClass class]];

Это выдало бы ошибку:

NSInvalidArgumentException», причина: «+[WCFServiceRequest getDictionaryKeysFromClass:]: в класс отправлен нераспознанный селектор

Любые мысли о том, что я делаю неправильно?

Спасибо!!!


person gdubs    schedule 31.03.2013    source источник


Ответы (1)


Вы сделали опечатку

NSMutableArray *testarr = [WCFServiceRequest getDictionaryKeysFromClass:[MyFirstClass class]];
------------------------------------------------------------------^Obj is missing

Так должно быть :

NSMutableArray *testarr = [WCFServiceRequest getDictionaryKeysFromObjClass:[MyFirstClass class]];

Поскольку ваш метод:

+(NSArray *)getDictionaryKeysFromObjClass:(NSObject *)objClass;
person Anoop Vaidya    schedule 31.03.2013
comment
круто что сработало. Спасибо! - person gdubs; 31.03.2013