object_setClass

来源:互联网 发布:python中文文本相似度 编辑:程序博客网 时间:2024/05/01 23:01

object_setClass将一个对象设置为别的类类型,返回原来的Class

/**  * Sets the class of an object. *  * @param obj The object to modify. * @param cls A class object. *  * @return The previous value of \e object's class, or \c Nil if \e object is \c nil. */OBJC_EXPORT Class object_setClass(id obj, Class cls)      __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);

#import "ViewController.h"#import <objc/runtime.h>#import "Person.h"#import "Dog.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];        NSLog(@"p1 - %@", [p1 class]);        Class c1 = object_setClass(p1, [Dog class]);        NSLog(@"c1 - %@", [c1 class]);    NSLog(@"p1 - %@", [p1 class]);    }

输出:


0 0
原创粉丝点击