, वहाँ कोई PHP के print_r या अजगर के रेपर की तरह "डंप" के बाद से वहाँ कोई शाब्दिक प्रारूप है कि "का प्रतिनिधित्व करता है" उन भाषाओं में के रूप में एक वस्तु है। आप
NSLog(@"%@", myObj);
या
का उपयोग करते हैं
NSString *stringRep = [NSString stringWithFormat:@"%@",myObj];
या
NSString *stringRep = [myObj description];
आप (पहले मामले में सांत्वना देने लॉग इन किया), [myObj description]
का परिणाम है, एक विधि NSObject
में के लिए परिभाषित किया जाएगा किसी ऑब्जेक्ट के विवरण ( डंप) का मुद्रण करने का उद्देश्य।
यदि आप gdb में po myObj
का आह्वान करते हैं, तो आपको [myObj debugDescription]
(अक्सर description
जैसा ही मिलता है, लेकिन हमेशा नहीं)।
वर्ग की तरह NSArray
और NSDictionary
और NSData
ओवरराइड description
उनकी सामग्री की एक बहुत उपयोगी पुनरावर्ती विवरण मुद्रित करने के लिए, लेकिन डिफ़ॉल्ट [NSObject description]
प्रिंट केवल सूचक मूल्य उदाहरण के लिए इसी।
यदि आप प्रश्नों के प्रकार के लिए कोड को नियंत्रित करते हैं, तो आप अपनी description
या debugDescription
विधियों को ओवरराइड कर सकते हैं जो आप चाहते हैं। यदि नहीं, तो आप description
या debugDescription
विधि को किसी श्रेणी का उपयोग करके ओवरराइड कर सकते हैं, या myDebugDescription
को परिभाषित करने के लिए किसी श्रेणी का उपयोग कर सकते हैं या ऐसे कुछ जिन्हें आप po [myObj myDebugDescription]
का उपयोग करके जीडीबी से आवेदक कर सकते हैं।
स्रोत
2008-11-14 04:57:20
देखें http://stackoverflow.com/questions/2299841/objective-c-introspection-reflection – neoneye
हैंडी: '[MyView recursiveDescription]' – Jonny