私は MBProgressHUD と NSURLconnection にひどく苦労しています...
showWhileExecuting メソッドを使用して、内部に NSURLConnection コードを持つ別のプライベート メソッドを呼び出しています。
-(void)HUD
{
MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view];
[self.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Initializing";
[HUD showWhileExecuting:@selector(authenticateWithPhoneNumber) onTarget:self withObject:nil animated:YES];
}
これは、showWhileExecuting メソッドを介して呼び出しているメソッドです。
-(void)authenticateWithPhoneNumber
{
// Do some stuff
// Get JSON data using NSURLConnection HERE
if(successful)
{
//EXC_BAD_ACCESS error here
[self performSegueWithIdentifier:@"A" sender:self];
}
else
{
//EXC_BAD_ACCESS error here
[self performSegueWithIdentifier:@"B" sender:self];
}
}
アプリを実行すると、EXC_BAD_ACCESS エラーと次のメッセージが表示されます。
28 0x344c0b8b 29 0x344c082b 30 0xf2d39 -[AuthenticationConfirmationViewController authenticateWithPhoneNumber] 31 0xd9013 -[MBProgressHUD launchExecution]
それらがセグエコードを実行することが問題であると仮定すると...私はそれらをHUDメソッド内に移動しました...
-(void)HUD
{
MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view];
[self.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Initializing";
[HUD showWhileExecuting:@selector(authenticateWithPhoneNumber) onTarget:self withObject:nil animated:YES];
if(successful)
{
[self performSegueWithIdentifier:@"A" sender:self];
}
else
{
[self performSegueWithIdentifier:@"B" sender:self];
}
}
次のページへの移動は問題ありません...JSONデータ処理手順が終了する前であっても、ページの1つにジャンプすることを除いて。
これらすべての問題を引き起こしている問題は何ですか?この状況で問題にアプローチする正しい方法は何ですか?