object_getClassName

object_getClassName得到类名字符串

/** 
 * Returns the class name of a given object.
 * 
 * @param obj An Objective-C object.
 * 
 * @return The name of the class of which \e obj is an instance.
 */
OBJC_EXPORT const char *object_getClassName(id obj)
    __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);


#import "ViewController.h"
#import <objc/runtime.h>
#import "Person.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    
    Person * p1 = [[Person alloc] init];
    
    const char * cName;
    
    cName = object_getClassName(p1);
    
    NSLog(@"%s", cName);
}

输出:

object_getClassName_第1张图片

你可能感兴趣的:(ios,Runtime)