0

このプログラムは基本的に、2 つのビューを切り替えるだけです。マルチビューアプリの作り方を学ぼうとしています。

{

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];

FirstViewController *aView = [[FirstViewController alloc]initWithNibName:@"FirstViewController" bundle:nil];
self.firstView = aView;
[window addSubview:firstView.view];

self.window.rootViewController = aView;

return YES;

}

「アプリケーションには、アプリケーションの起動の最後にルート ビュー コントローラーが必要です」というエラーが表示されました。「self.window.rootViewController = aView;」という行を追加しました。そしてそのエラーはなくなりました。これで、私のアプリはビュー 1 からビュー 2 に切り替わります (これは常に可能でした) が、元に戻そうとするとクラッシュします。私が得る唯一の出力は「(11db)」です。一連のメモリ アドレスが表示された画面が表示され、次の項目が緑色で強調表示されます。

0x10dc09b:  movl   8(%edx), %edi

「スレッド1:EXC_BAD_ACCESS(コード= 2、アドレス)」と表示されます

この出力を解釈する方法がわかりません。YouTube の一連のビデオ ガイドに従って、このプログラムを作成しました。すべてが正しく行われたことを確認するために、2 回繰り返しました (実行しました)。私が行ったすべてのことをしたい場合は、ガイドは「xcode チュートリアル #3 パート 1/3 : マルチビュー アプリケーション」と呼ばれます。

私は信じられないほど混乱しています。他の誰も問題を抱えているようには見えません。

4

1 に答える 1

0

Window を表示する前に、ルート ビュー コントローラーを設定する必要があります。

これを試して :

{

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];


FirstViewController *aView = [[FirstViewController alloc]initWithNibName:@"FirstViewController" bundle:nil];
self.firstView = aView;

self.window.rootViewController = aView;

[self.window makeKeyAndVisible];

return YES;

}

複数のビューを表示したい場合は、RootViewController の* viewDidLoad * に条件を記述し、別のビューにリダイレクトできます。

まだ質問があります。教えてください。

ではごきげんよう !!!

于 2013-03-15T04:33:40.297 に答える