构建时即设定 autorelease
Tip
当创建临时对象时,在同一行使用 autolease
,而不是在同一个方法的后面语句中使用一个单独的 release
。
尽管运行效率会差一点,但避免了意外删除 release
或者插入 return
语句而导致内存泄露的可能。例如:
- // AVOID (unless you have a compelling performance reason)
- MyController* controller = [[MyController alloc] init];
- // ... code here that might return ...
- [controller release];
- // BETTER
- MyController* controller = [[[MyController alloc] init] autorelease];