目前我发现的有三种方式创建对象,有新的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创建对象
最新推荐文章于 2026-03-31 09:33:14 发布
本文介绍了在Objective-C中创建对象的四种方法,包括传统的方式、使用[class new]、runtime中的消息传递机制以及运用runtime机制创建并注册自定义类。

1693

被折叠的 条评论
为什么被折叠?



