Objective-C计数器疑问

来源:互联网 发布:黄海海战知乎 编辑:程序博客网 时间:2024/05/16 17:26

用alloc创建一个对象a后,通过retain分别将指针赋值给a1、a2,因此此时对象的引用计数器retainCount为3,也就是说a、a1、a2都可以操作该对象;

现在我们作一个赋值操作 b = a 后,b指针所引用的对象的retainCount同样为3,说明复制出来的新的内存地址的引用指针为3,但是我们通过[a release],[a1 release],[a2 release],[b release]同样可以对该对象进行释放指针操作,这是为什么呢