区分开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指向对象类之后,对象会被集成到 继承层次的运行时视图对象网络

你可能感兴趣的:(区分开alloc、init、retain、release和dealloc之间的差别)