iOS new与alloc/init介绍
来源:互联网 发布:淘宝自动回复怎么修改 编辑:程序博客网 时间:2024/05/19 18:00
+ new { id newObject = (*_alloc)((Class)self, 0); Class metaClass = self->isa; if (class_getVersion(metaClass) > 1) return [newObject init]; else return newObject; } + alloc { return (*_zoneAlloc)((Class)self, 0, malloc_default_zone()); } - init { return self; }
上述是apple文档中new和alloc/init方法的具体实现。
个人笔记:
alloc:分配内存;init:初始化;new:分配内存,并隐性地初始化
new大体等同与alloc+init;只是alloc时使用了Zone;
new是老版使用的方法,后来apple引进allocWithZone:方法,apple为了方便,又重新封装成了alloc方法;
注意:
new是很方便,但初始化只能使用init,比如要使用自定义的initWithXXX就会报错;
alloc则可以使用自定义的初始化方法;
0 0
- iOS new与alloc/init介绍
- iOS new与alloc/init的区别
- iOS开发:new 与alloc/init 的区别
- iOS开发new与alloc/init的区别
- iOS开发 new与alloc/init的区别
- iOS开发new与alloc/init的区别
- iOS开发new与alloc/init的区别
- iOS中new与alloc/init的区别
- iOS开发之new与alloc/init的区别
- iOS开发new与alloc/init的区别
- iOS开发new与alloc/init的区别
- iOS开发之new与alloc/init的区别
- iOS开发new与alloc/init的区别
- iOS开发new与alloc/init的区别
- iOS开发new与alloc/init的区别
- iOS开发new与alloc/init的区别
- iOS开发new与alloc/init的区别
- iOS开发new与alloc/init的区别
- android状态机statemachine详解
- freemarker 空值判断
- 【用结构体数组完成最小生成树+并查集】
- 正向代理与反向代理的区别【Nginx读书笔记】
- 数据结构 图
- iOS new与alloc/init介绍
- [c.y.j]tomcat 性能优化
- Eclipse快捷键 10个最有用的快捷键
- JAVA CMD 编译java文件,在需要引入Jar包时,javac和java命令
- 善恶的本质
- Effective C++ NVI手法
- JAVA变量初始化顺序
- 第一篇
- Object-C之load与initialize那点事