当我们使用alloc
调用Class
时,对象的引用计数是否为1。
例如:
NSObject *obj = [NSObject alloc];
执行此行代码后,对象的引用计数为0或1?
我读了alloc
源代码,但是没有发现alloc
方法对对象的引用计数有任何操作,此时引用计数的对象仍为0?
如果为0,则对象将被销毁,但如果不是0,则如何实现,
我希望有人能帮助我回答困惑的心,谢谢!
答案 0 :(得分:2)
alloc 创建引用计数为1的对象。它不会以引用计数0创建它并增加引用计数。首先,这将是低效的(对每个对象创建一个额外的保留调用),其次,它不起作用,因为一旦对象的引用计数为0,Objective-C绝对肯定会释放该对象;没有办法停止释放,其中一个副作用是你不能增加或减少零引用计数的对象的引用计数。