alloc、allocWithZone、new

  • [[Class alloc] init]其实是做了两件事,alloc和init是两个方法,class调用了两个方法。

    11111.png
    在上图中可以看到alloc是个类方法,init是个实例方法。alloc 给对象分配内存空间,init是对对象的初始化,包括设置成员变量初值这些工作。而给对象分配空间,除了alloc方法之外,还有另一个方法: allocWithZone.
    使用alloc方法初始化一个类的实例的时候,默认是调用了allocWithZone的方法。alloc与allocWithZone的区别

  • [class new]其实就是把alloc和init结合起来了
    22222.png

    从上图可以看到苹果对三个方法的解释都是use object initializers instead给对象分配空间

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.1 什么是自动引用计数 概念:在 LLVM 编译器中设置 ARC(Automaitc Reference Co...
    __silhouette阅读 10,720评论 1 17
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,904评论 1 32
  • Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的...
    有一种再见叫青春阅读 3,790评论 0 3
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,890评论 0 9
  • 在彼此最美好的年纪 我们相遇 无际的虚幻中 只依靠那么一根线 这 是缘分 如今 或许那是错一个误 或许那是昙花一现...
    寻回万里阅读 1,459评论 0 1

友情链接更多精彩内容