addsubview 的内存管理机制

本文章转载自:http://blog.sina.com.cn/s/blog_884e78b20100tmk8.html


OC 属于C系列的语言,当然在编写程序的过程中当然也应该遵守C语言谁申请谁释放内存的原则。在这里我想说的是在IOS编程过程中经常会会用到的一个函数addSubview。在我们调用这个函数(比如是[self.view addSubview:tableview])之后,tableview是否应该release?

这里要分情况,如果tableview是一个类的属性,在类对象释放的时候会自动释放,那么就不必再次释放。反之,如果他只是一个临时的对象那么就应该在加入之后进行释放。这也是符合上面所说的规则的。

self.view是tableview的管理者,他就应该在加入tableview的时候对他进行retain,在本身释放的时候release。而事实上,ios也正是这么做的。

你可能感兴趣的:(addsubview 的内存管理机制)