アプリで奇妙なクラッシュの問題が発生しました。A ViewController から B ViewController に入ると、クラッシュします (毎回ではなく、1 回だけ発生します)。ここにコードがあります
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = [indexPath row];
NSUInteger section = [indexPath section];
if( section == 0 && row == 0 && self.uidString && self.profileDic)
{
BViewController *bviewcontroller = [[BViewController alloc] init];
[bviewcontroller setProfileDic:self.profileDic];
bviewcontroller.delegate = self;
bviewcontroller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:bviewcontroller animated:YES];
[bviewcontroller release];
}
}
そしてクラッシュログは
Date/Time: 2013-06-18 10:00:39.720 +0800
OS Version: iOS 6.1.4 (10B350)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread: 0
Last Exception Backtrace:
0 CoreFoundation 0x31d3c3e2 __exceptionPreprocess + 158
1 libobjc.A.dylib 0x39a3795e objc_exception_throw + 26
2 CoreFoundation 0x31d3c298 +[NSException raise:format:arguments:] + 96
3 Foundation 0x32612f9e -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 86
4 UIKit 0x33c37754 -[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:] + 172
5 UIKit 0x33c36fa6 -[UIViewController presentViewController:withTransition:completion:] + 3394
6 UIKit 0x33d58d9e -[UIViewController presentModalViewController:animated:] + 26
私は答えを探しましたが、ここのいくつかの投稿は、UIViewController の「presentViewController」メソッドが iOS 4.3 で使用できず、解決策は「presentViewController」を「presentModalViewController」に変更することであると述べています。しかし、それはまさに私のコードが行ったことです。それで、何が起こるか知っている人はいますか?前もって感謝します。