मिलता है मैं एक अज्ञात वर्ग और प्रत्येक संपत्ति के वर्ग की सभी संपत्तियों की एक सूची प्राप्त करने की कोशिश कर रहा हूं। इस समय तक मुझे किसी ऑब्जेक्ट के सभी गुणों की एक सूची मिलती है (मैं इसे सभी सुपरक्लास प्राप्त करने के लिए बार-बार करता हूं)। मैं this postआईओएस संपत्ति वर्ग
+ (NSArray *)classPropsFor:(Class)klass
{
NSLog(@"Properties for class:%@", klass);
if (klass == NULL || klass == [NSObject class]) {
return nil;
}
NSMutableArray *results = [[NSMutableArray alloc] init];
unsigned int outCount, i;
objc_property_t *properties = class_copyPropertyList(klass, &outCount);
for (i = 0; i < outCount; i++) {
objc_property_t property = properties[i];
const char *propName = property_getName(property);
if(propName) {
NSString *propertyName = [NSString stringWithUTF8String:propName];
[results addObject:propertyName];
}
NSArray* dict = [self classPropsFor:[klass superclass]];
[results addObjectsFromArray:dict];
}
free(properties);
return [NSArray arrayWithArray:results];
}
में प्रेरित तो अब मैं हर संपत्ति के वर्ग चाहता हूँ और मैं कार्य करें:
NSArray* properties = [PropertyUtil classPropsFor:[self class]];
for (NSString* property in properties) {
id value= [self valueForKey:property];
NSLog(@"Value class for key: %@ is %@", property, [value class]);
}
समस्या यह NSStrings या के लिए काम करता है लेकिन कस्टम कक्षाओं के लिए नहीं है कि यह मुझे देता है के लिए, है शून्य। मैं एक ऐसे शब्दकोश को फिर से बनाना चाहता हूं जो किसी ऑब्जेक्ट का प्रतिनिधित्व करता हो जिसमें अन्य वस्तुओं को अंदर रखा जा सके और जैसा कि मुझे लगता है कि मुझे हर संपत्ति की कक्षा जानने की आवश्यकता है, क्या यह संभव है?
मैन जो कमाल है और सही काम करता है! आपकी मदद के लिए धन्यवाद :) – Jpellat
आपका स्वागत है :) –