刚开始接触Obj-c老是搞不懂什么该释放,什么不该释放,什么时候该释放。虽然说Xcode4.2之后提供了Automatic Reference Counting,但是身边的IOS Coder都告诉我说不要使用这个,因为效率比较低。
然后据我现在的理解,有两种对象需要手动释放,即alloc创建的和new出来的。而基本数据类型和CGPoint(结构体),BOOL(算基本数据类型),还有写在
@interface{}大括号里的也是不需要手动释放的。
说的简单点,只有h文件中@property的和m文件中alloc & new的對象需要釋放。
需要释放的对象在viewDidUnload中要先制为Nil,最后需要在dealloc中release。所有的页面硬引用如UITextView都需要做这样的操作,除了页面硬引用之外的对象创建、赋值、使用完后就必须立即释放。
遵循规则"如果未分配或保留它,则不需要被释放"