私のアプリケーションでは、複数の理由でここで作成する必要があるため、viewDidAppearでテーブルビューを作成しています。しかし、アプリケーションを分析するとメモリリークが発生することに気付きました。ViewDidAppearでテーブルビューを作成
私はインスタンス変数_tableViewを使用して、initとdealloc以外の他の方法では良い考えではないと思った。私はちょうどオートリリースを使用する必要があります、私はテーブルが適切な時点でリリースされることを確認したい。
私のテーブルビューにはプロパティがあります。
@property (nonatomic, retain) UITableView *tableView;
は、と私は、次のようなテーブルビューを作成します。
- (void)viewDidAppear:(BOOL)animated
{
self.tableView = [[UITableView alloc]
initWithFrame:CGRectMake(0, 0, 320, 300)
style:UITableViewStyleGrouped];
// Table View properties
self.tableView.dataSource = self;
self.tableView.delegate = self;
[self.view addSubview:self.tableView];
}
- (void)viewDidDisappear:(BOOL)animated
{
self.tableView = nil;
}
- (void)dealloc
{
[_tableView release];
}
deallocでは、[self.tableView release]とself.tableView = nilを使用する必要があります。あなたは安全です。 –