目前我发现的有三种方式创建对象,有新的ideas的朋友请告诉大家:
1. 传统的[[class alloc]init]
2. [class new]
3. runtime中的消息传递机制:
Class class = NSClassFromString([Class class]);
NSObject *object = objc_msgSend(objc_msgSend(class, sel_registerName("alloc")), sel_registerName("init")); // 创建对象
objc_msgSend(object, @selector(show)); // 发送消息
4.也是运用runtime机制
// 创建一个类
Class superClass = [NSObject class];
newClass = objc_allocateClassPair(superClass, className, 0);
// 注册你创建的这个类
objc_registerClassPair(newClass);
// 创建对象
id instance = [[newClass alloc] init];
个人开发总结(1)-ios创建对象
最新推荐文章于 2022-05-21 13:12:32 发布