個人開發總結(1)-ios創建對象

目前我發現的有三種方式創建對象,有新的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];

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章