2010-08-21 18 views
7

NSObject प्रोटोकॉल में, यह एक विधि है कि इस के समान है परिभाषित करता है? या यह भी एक वस्तु है? वस्तु के साथ मैं क्या कर सकता हूं? क्या मुझे बेस क्लास या अपनाया गया प्रोटोकॉल मिल सकता है?कक्षा प्रकार उद्देश्य सी

उत्तर

15

Class जावा में Class कक्षा के समान Objective-C runtime द्वारा परिभाषित कक्षा है। उदाहरण के लिए, यदि आप एक वर्ग का नाम प्राप्त करने के लिए समारोह class_getClassName() उपयोग कर सकते हैं:

NSObject *o = [[[NSObject alloc] init] autorelease]; 
NSLog(@"%s\n", class_getClassName([o class])); // prints "NSObject" 

आप Class वस्तुओं के साथ आत्मनिरीक्षण/प्रतिबिंब के सभी प्रकार कर सकते हैं; विवरण के लिए उद्देश्य-सी रनटाइम संदर्भ देखें।

1

अब यह

NSObject *o = [[NSObject alloc]init];
NSLog(@"%s\n", object_getClassName([o class]));

बजाय object_getClassNameclass_getClassName

है
संबंधित मुद्दे