0

我正在尝试动态获取类的属性。这是我的方法

+(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:]:发送到类的无法识别的选择器

对我做错了什么有任何想法吗?

谢谢!!!

4

1 回答 1

2

你打错了

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

它应该是 :

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

由于您的方法是:

+(NSArray *)getDictionaryKeysFromObjClass:(NSObject *)objClass;
于 2013-03-31T16:32:33.560 回答