こんにちは私は奇妙な問題を抱えています。xcodeにアップグレード4.2今すぐexc_bad_access on dimissModalViewcontroller
私のアプリは "PageControl"(Appleの例)のサンプルコードに基づいています。 ほとんどのものが起こっている水平スクロールビューを使用します。 彼の下に私はUIToolbarを持っています。そこから私はモーダルviewcontrollerと呼んでいます。
XCode 4では、すべてが魅力的に機能しましたが、XCode 4.2(新しいSDKを使用)にアップグレードした後、私はdimissModalViewcontrollerで「exc_bad_access」を取得しました。 一番面白いのは、すぐには起こらないが、modalViewcontrollerを2〜3回表示したり消したりした後でなければならないということです。
単純化するために、元のサンプルコードに戻り、そのコンテキストでmodalVieWcontrolerを実装しようとしました。今まで運がない。元PageControlコードで
私はそうのようなのUIViewControllerにNSObjectのから「ContentController」の種類を変更:
@interface ContentController : UIViewController
{
NSArray *contentList;
}
を、私はそうのようなPhoneContentControllerという名前(ContentControllerから)サブクラスでpresentModalViewcontrollerを呼び出します(私が使用通知私はどこからでも呼び出すことができ)
-(void) showExplanationsModal:(NSNotification*)notification{
ExplanationsViewController *xplViewController = [[[ExplanationsViewController alloc] initWithNibName:@"Explanations" bundle:nil]autorelease];
[self presentModalViewController:xplViewController animated:YES];
}
のでようmodalViewcontrollerの解任がモーダルビュー自体から呼び出される: (通知はいくつかの他のSTUを開始TOT使用されますFF)
- (IBAction)onClose
{
[self dismissModalViewControllerAnimated:YES];
[[NSNotificationCenter defaultCenter]postNotificationName:@"dismissExplanationsModal" object:self];
}
このコードは、iOS4をSDKと正常に動作しますが、iOS5をSDKで時折excec_bad_accessをレンダリングします。 iOS4 SDKでアプリケーションをコンパイルすると、iOS5デバイスでもrus fineです。 ゾンビを使ってみましたが、これは特定のオーバーリリースされたオブジェクトを指しません。私はここでの問題を示すサンプルプロジェクトのコピーを入れている
私は一種のすでに数日間、このいずれかにこだわって は... http://www.sesni.biz/pagecontrol.zip
これはまったく推測ですが、iOS5で変更されたモーダルビューコントローラを削除しました。モーダルビューコントローラでdismissを呼び出すと、親ビューコントローラに転送されます。しかし、私は、提示コントローラ(彼らは今異なっている)上で呼び出される必要があることを発見しました。おそらく '[self presentingViewController] dismissModalViewControllerAnimated:YES];'を試してみてください。 –
Hmm。運がない。とにかく、お返事をよろしくお願いいたします。 – SnipSens
Xcodeをテキストファイルに保存して、Xcodeを再インストールしてみてください。 – Gabe