构建时即设定 autorelease

Tip

当创建临时对象时,在同一行使用 autolease,而不是在同一个方法的后面语句中使用一个单独的 release

尽管运行效率会差一点,但避免了意外删除 release 或者插入 return 语句而导致内存泄露的可能。例如:

  1. // AVOID (unless you have a compelling performance reason)
  2. MyController* controller = [[MyController alloc] init];
  3. // ... code here that might return ...
  4. [controller release];
  5.  
  6. // BETTER
  7. MyController* controller = [[[MyController alloc] init] autorelease];