美文网首页
Rumtime-object_setClass

Rumtime-object_setClass

作者: linbj | 来源:发表于2018-04-26 19:44 被阅读12次

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]);
    
}
image.png

搬运自object_setClass

相关文章

  • Rumtime-object_setClass

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

网友评论

      本文标题:Rumtime-object_setClass

      本文链接:https://www.haomeiwen.com/subject/nrwmlftx.html