Mac特别是iPhone中的内存管理是通过引用计数来实现的。 而对于开发者来说,特别是从具备垃圾回收功能的语言开发工程师来说,这种内存管理方式具有很大的挑战性。
我们最关心的就是一个对象的“retain count”, 当这个数字变成0的时候,这个对象就将被释放内存,如果此时尝试访问这个对象,你的应用程序就会崩溃。但是如果你不及时release对象,将retain count数量减少的话,又会造成内存泄漏。
想知道一个对象的retain count的值的方法其实很简单。
NSLog([NSString stringWithFormat:@"Retain Count:%i", [someObject retainCount]]);
对象的retainCount方法就会反回这个对象的retain count的值。