突然之间,我一定是更改了应用程序中的某些内容,导致它随机崩溃。 viewWillAppear 之后我得到一个 EXC_BAD_ACCESS。我已经注释掉了 View 加载方法中的所有内容,以初始化一个简单的 View 。有时运行良好,有时运行不佳,我附加了两个不同的控制台日志。
-(void) loadView {
UIView *uv = [[UIView alloc] initWithFrame:CGRectZero];
[self setView:uv];
[uv release];
NSLog(@"[BookScrollVC.m] loadView >>>");
}
当它崩溃时
2012-10-07 09:07:51.780 DILPStatic[2340:207] [BookScrollVC.m] loadView >>>
2012-10-07 09:07:51.781 DILPStatic[2340:207] [BookScrollVC.m] viewDidLoad
2012-10-07 09:07:51.782 DILPStatic[2340:207] [viewDidLoad] exiting...
2012-10-07 09:07:51.783 DILPStatic[2340:207] [viewWillAppear]
Current language: auto; currently objective-c
Program received signal: “EXC_BAD_ACCESS”.
何时发挥作用
2012-10-07 09:12:54.702 DILPStatic[2385:207] [BookScrollVC.m] loadView >>>
2012-10-07 09:12:54.703 DILPStatic[2385:207] [BookScrollVC.m] viewDidLoad
2012-10-07 09:12:54.704 DILPStatic[2385:207] [viewDidLoad] exiting...
2012-10-07 09:12:54.705 DILPStatic[2385:207] [viewWillAppear]
2012-10-07 09:12:54.706 DILPStatic[2385:207] *** __NSAutoreleaseFreedObject(): release of previously deallocated object (0x4b59fc0) ignored
2012-10-07 09:12:55.058 DILPStatic[2385:207] [viewDidAppear]
它由pushviewcontroller加载。
BookScrollVC *bookScrollVC = [[BookScrollVC alloc] initWithBook:bookPath];
[self.navigationController setToolbarHidden:YES];
[self.navigationController setNavigationBarHidden:YES];
[self.navigationController pushViewController:bookScrollVC animated:YES];
[bookScrollVC release];
最佳答案
我确实通过清理其他类中未正确使用的变量解决了这个问题。这包括缺少 [...release] 和错误地释放 ivars。
希望它能提醒人们实际检查这些事情,尽管这可能不再是 ARC 的问题。
关于ios - 损坏的应用程序,UIViewcontroller EXC_BAD_ACCESS 在 viewWillAppear 之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12766880/