区分开alloc、init、retain、release和dealloc之间的差别

alloc:创建对象。
dealloc:释放对象。
retain:引用计数+1
release:引用计数-1

new = alloc + init
alloc、new、copy都是创建一个新对象,并把该对象引用计数置为1。
alloc和dealloc相反,retain和release相反。
retain之后直接dealloc,计数器是不会被清0的。
release一个对象之后,该对象的值仍然有效,所以要接着把它置为nil才行。
区是一个按页对其的内存区域,用于存放应用程序分配的对象和数据。
alloc只是分配内存,init才是初始化。
对象的isa实例变量指向的是对象所属的类。
类其实也是个对象,它叫做对象类,是根据类定义编译得到的运行时对象。
在isa指向对象类之后,对象会被集成到 继承层次的运行时视图对象网络

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

相关阅读更多精彩内容

友情链接更多精彩内容