alloc 和 init都做了什么验证。

发布时间:2020-11-26 发布网站:编程之家
编程之家收集整理的这篇文章主要介绍了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 =21         NSLog(22         NSLog(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

总结

以上是编程之家为你收集整理的alloc 和 init都做了什么验证。全部内容,希望文章能够帮你解决alloc 和 init都做了什么验证。所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入编程之家官方QQ群:1065694478
编程之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ”
精选程序员所需精品干货内容!