iPhone NSMutableArray内存泄漏

AO.*_*AO. 1 iphone memory-leaks nsmutablearray

Xcode Instruments声称以下代码会导致内存泄漏.据我所知,在分配属性时会发生以下情况:
*旧值是自动释放的
*保留
新值*显然分配了新值
随着它的介意,我怎么会有内存泄漏,我该如何解决它?

"TestProjectViewController.h":

#import <UIKit/UIKit.h>

@interface TestProjectViewController : UIViewController {
    NSMutableArray* array;
}

@property (nonatomic, retain) NSMutableArray* array;

@end
Run Code Online (Sandbox Code Playgroud)

"TestProjectViewController.m":

#import "TestProjectViewController.h"

@implementation TestProjectViewController

@synthesize array;

- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    for(int i = 0; i < 5; i++) {
        self.array = [[NSMutableArray alloc] init];
        [self.array addObject:@"Hello world #1"];
        [self.array addObject:@"Hello world #2"];
    }
}
Run Code Online (Sandbox Code Playgroud)

Vla*_*mir 5

self.array = [[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)

这里保留两个新的数组对象 - 分配它然后在setter方法中.以下之一应该解决这个问题:

self.array = [[[NSMutableArray alloc] init] autorelease];
// or
self.array = [NSMutableArray arrayWithCapacity:someNumber];
Run Code Online (Sandbox Code Playgroud)

并且不要忘记在dealloc方法中释放你的数组.