alloc 和 init都做了什么验证。
生活随笔
收集整理的這篇文章主要介紹了
alloc 和 init都做了什么验证。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
結論:
alloc負責分配內存和創建對象對應的isa指針;
init只是返回alloc生成的對象。
? ?所以alloc后,多次調用init,返回的對象是同一個!
代碼如下:
1 // 2 // main.m 3 // alloc.initTest 4 // 5 // Created by LongMa on 2019/5/30. 6 // Copyright ? 2019. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 11 int main(int argc, const char * argv[]) { 12 @autoreleasepool {15 16 NSObject *obj1 = [NSObject alloc]; 17 NSLog(@"%p",obj1); 18 19 NSObject *obj2 = [obj1 init]; 20 NSObject *obj3 = [obj1 init]; 21 NSLog(@"%p",obj2); 22 NSLog(@"%p",obj3); 23 } 24 return 0; 25 }運行結果:
2019-05-30 09:35:37.019843+0800 alloc.initTest[65183:12003258] 0x10065d810
2019-05-30 09:35:37.019864+0800 alloc.initTest[65183:12003258] 0x10065d810
2019-05-30 09:35:37.019874+0800 alloc.initTest[65183:12003258] 0x10065d810
Program ended with exit code: 0
?
啟發文章參考:http://www.cocoachina.com/ios/20190527/27009.html
轉載于:https://www.cnblogs.com/Dast1/p/10947721.html
總結
以上是生活随笔為你收集整理的alloc 和 init都做了什么验证。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zabbix监控规划及实施
- 下一篇: 弹性盒子 flex-direction