0

メソッドと呼ぶビューがあります。

    Twitter *tweet = [[Twitter alloc] initWithNibName:@"Twitter" bundle:nil];

[self presentModalViewController:tweet animated:YES];

ビューコントローラーは問題なく表示されます。今、次のようなtwitterビューコントローラーのメソッドでdismissviewcontrollerを呼び出そうとすると: [self disconnectModalViewControllerAnimated:NO];

アプリがクラッシュしましたか?

基本的な構造は正しいのにアプリがクラッシュする?どうしてこんなことに ?

4

3 に答える 3

2

試してみてください:[self.parentViewController dismissModalViewControllerAnimated:NO];-これは、モーダルビューコントローラーがTwitterコントローラーを提示するコントローラーによって提示され、モーダルコントローラー(Twitterコントローラー)を閉じる必要があるためです。

更新: iOS 5以降をターゲットにしている場合は、次を使用します。

[self dismissViewControllerAnimated:NO completion:nil];
//or
[self.presentingViewController dismissViewControllerAnimated:NO completion:nil];

それ以外の場合、下位互換性を維持したい場合は、次を使用してください。

if([self respondsToSelector:@selector(dismissViewControllerAnimated:completion:)])
{
    [self dismissViewControllerAnimated:NO completion:nil];
}
else
{
    [self dismissModalViewControllerAnimated:nil];
}
于 2012-05-18T09:59:18.130 に答える
0

ナビゲーションコントローラーからのビューを閉じる必要があります。これを試して:

[self.navigationController dismissModalViewControllerAnimated:YES];
于 2012-05-18T10:18:42.867 に答える
0

deallocこの種の問題は、デストラクタ (メソッド)で何かを過度に解放している場合によく発生します。IB は常にコードをリリース オブジェクトに追加しますが、既に存在するかどうかは確認しません。

于 2012-05-18T11:13:55.267 に答える