我正在開發iOS 5.1的Xcode 4.4上使用故事板,ARC和導航控制器的簡單遊戲。該應用程序在模擬器上完美工作,但不在設備上(iPhone 4 CDMA)。所以基本上,我有一個主菜單3 UIButtons(玩遊戲,選項,幫助)。當我點擊Play遊戲然後嘗試通過導航控制器後退按鈕返回菜單時,該應用程序在設備上崩潰。它停在以下螺紋:viewWillDisappear導致應用程序崩潰在設備上,但不是在模擬器上
Thread 1: EXC_BAD_ACCESS (code=1, address=0x70000008)
,並指出以下幾點:
0x35b4df78: ldr r3, [r4, #8]
還有一個在我的代碼點我打電話的popToRootViewContoller方法。它也在這裏崩潰(與我想象的相同的線程錯誤)。但是,如果我註釋掉viewWillDisappear方法,那麼我就可以毫無問題地來回切換。選項和幫助屏幕不實現viewWillDisappear方法並在設備上完美地切換。
-(void)viewWillDisappear:(BOOL)animated
{
[tmrCountdown invalidate];
[tmrEclapsedTime invalidate];
[tmrMainEnemyMovement invalidate];
[tmrMoveSpawnedEnemies invalidate];
[tmrSpawnEnemies invalidate];
accInc=currPrefs.accelerometerSensitivity;
enemySpeedX=5.0;
enemySpeedY=5.0;
countdown=4;
ecMiliseconds=0;
randTime=0;
stopped=NO;
gameStarted=NO;
}
我稱之爲popToRoot方法在這裏:
我見的viewWillDisappear方法在下列
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex==0)//cancel
{
//called here
[self.navigationController popToRootViewControllerAnimated:YES];
}
else //1 (Play Again)
{
[self reInit];
}
}
感謝, MEHUL
打開異常斷點,看看你能不能找出到底是哪行正在拋出異常 – 2012-08-03 20:33:33
我正在做與丹一樣的評論。請參閱添加異常斷點:http://developer.apple.com/library/ios/#recipes/xcode_help-breakpoint_navigator/articles/adding_an_exception_breakpoint.html#//apple_ref/doc/uid/TP40010433-CH1-SW1 – Darren 2012-08-03 20:34:31
並啓用殭屍檢查,你可能會引用一個已經發布的對象 – CSmith 2012-08-03 20:36:48