2017-11-24 3 views
0

おはようございます。Objective-cは新しいフォームを開くときに割り当てが解除されますか?

アプリが実行されているときのエラーメモリ。

[5133:307051] *** - [DeclarantController保持]:バックグラウンドスレッドでデータを要求した後、メッセージは、フォームオープン割り当て解除インスタンスに0x7f9e53d22b50

を送りました。

dispatch_async(dispatch_get_main_queue(), ^{ 
         DeclarantController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"DeclarantController"]; 
         viewController.consultData = self.consultData; 
         viewController.parentView = self; 
         [self.navigationController pushViewController:viewController animated:YES]; 
        }); 

コントローラを簡略化しましたが、viewDidLoadメソッドのgetDeclarantKindを呼び出すと、POPsがエラーになります。コメントアウトすると、エラーは発生しません。空のメソッドでもエラーが発生します。

@implementation DeclarantController : BaseController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self tableColor]; 
    [self getDeclarantKind]; 
} 

-(NSMutableArray*)getDeclarantKind 
{ 

} 
@end 

以下のアルゴリズム:

  1. フォームを開き、その上に
  2. その上にバックグラウンドプロセスでAPI要求をフォームBを開きをBに遷移するためのボタンがあります。応答が来た場合は、フォームが開きますC
  3. フォームCは正常に動作し
  4. は、フォームBにスワイプを戻るし、フォームと
  5. 繰り返し項目1-3にスワイプします。フォームが開きます
  6. フォームBにスワイプしてからフォームにスワイプします。
  7. 繰り返しアイテム1〜3。フォームCが開きますが、ボタンはスライドします。画面の任意の領域をクリックした後main.mのバグは

    INTメイン(int型ARGC、CHAR * ARGV []){ @autoreleasepool {リターンUIApplicationMain(ARGC、ARGV、ゼロ、NSStringFromClass(あります[AppDelegateクラス]))); }}

スレッド1:EXC_BREAKPOINT(コード= EXC_I386_BPT、サブコード= 0x0の)

エラーが唯一の第三のパスでトリガされた理由のほとんどが理解していません。最初の2つの作業。そして、もしあなたが[self getDeclarantKind];を削除したいのであれば;同じフォームがレンダリングされ、正常に動作します。

+0

ポイントを追加しましたか? – iBug

答えて

0

正確な問題やクラッシュの理由を教えてくれません。しかし、プロジェクト/ワークスペースの例外ブレークポイントを追加することができます。これにより、クラッシュの原因となっている正確な文が得られます。

enter image description here

enter image description here

私は、これはあなたを助けることを願っています。

ハッピーコーディング!

+0

https://stackoverflow.com/a/47504888/8092443 –

0

エラーが発生した場所でプログラムの実行が停止しません。再びメインで失敗します。私は手がエラーをPOPする方法を見つけることができません。フォームはエラーが発生してもエラーは発生しませんが、画面上でマウスを押すとエラーが発生するためです。

関連する問題