0

私はこのようなコードを持っています:

MyViewController *myController = [[MyViewController alloc] init];
[self.myNavController pushViewController:myController animated:YES];
[myController release];

上記の場合、MyViewControllerのdeallcが2回呼び出され、クラッシュします。最後の行「[myControllerrelease];」を削除すると すべて順調。

これはメモリ管理のガイドラインに反していませんか?

4

2 に答える 2

0

私が本当に理解している場合は、以下のように init に対して initWithNibName を使用する必要があります。

MyViewController *myController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];

これを試して返信してください。よろしくお願いします。

于 2012-06-22T22:37:43.280 に答える
0

MyViewController の dealloc メソッドが someObj を複数回解放していないことは確かですか? dealloc コンテンツを消去してから、アプリを再度実行してみてください。

于 2013-05-07T08:59:12.430 に答える