0

アクションシートを表示するために電話をかけると、次のエラーが断続的に発生します。

-[UIActionSheet showInView:]でのアサーションの失敗

キャッチされなかった例外'NSInternalInconsistencyException'が原因でアプリを終了しています、理由:'無効なパラメーターが満たされていません:view!= nil '

この場合、画面は変更していません。UIActionSheetは、ローカル通知が発生したときに表示され、オブザーバーにこのビューでローカルメソッドを呼び出させます。プロパティはstrongとしてマークされています。アクションシートが却下されたとき、私もそれをnilに設定しました。UIにストーリーボードを使用しています。クラッシュするのはかなり繰り返し可能で、おそらく5回未満です。(ありがたいことに、私はそれを私のために行っています)。次に何を試すべきか提案はありますか?私は本当にこれに私の髪を引っ張っています。このトピックで私が見た問題のほとんどは、選択が行われると発生するクラッシュを示しています。私の場合、それはプレゼンテーション時と断続的です。また、この特定のビューは、組み込みのナビゲーションコントローラーの奥深くにあるいくつかのスタックです。ホーム>テーブルビュー>詳細選択>問題のviewController。

self.actionSheet = [[UIActionSheet alloc]
                            initWithTitle:@"Select Choice" delegate:self cancelButtonTitle:@"Not Yet" destructiveButtonTitle:@"Do this Now" otherButtonTitles:nil];

[self.actionSheet showInView:self.parentViewController.tabBarController.view];
4

2 に答える 2

1

あなたのコードに基づいて、これが呼び出されたときにself.tabBarControllerorが設定されていないように見えます。self.tabBarController.tabBar

使用してみてください:

[self.actionSheet showInView:self.view];

編集:エラーを修正

編集 2:アクション シートをタブ バーの上に表示する

[self.actionSheet showInView:[[UIApplication sharedApplication].delegate window]];
于 2012-10-09T22:51:10.770 に答える