我在 UITabBarController
中有一个 UITableView
。
当我打电话时
[[self navigationController] pushViewController:myViewController animated:YES];
没问题。
但是,例如,当我从 UIActionSheetDelegate
内部调用同一行时:
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
我得到EXC_BAD_ACCESS
。
似乎是从不同的线程调用此行导致了此问题。
如何防止此 EXC_BAD_ACCESS
问题?
(注意 myViewController 不为零,或类似的东西)
谢谢!
最佳答案
当您尝试访问已释放的对象时,会引发
EXC_BAD_ACCESS
,并且在操作表关闭后,在主线程上调用 actionSheet:clickedButtonAtIndex:
,所以我我猜 myViewController
所指向的内容已被释放。
它不一定是nil
,事实上,这就是问题所在。指向的对象被释放,但指针不是nil
。
关于iphone - 调用pushViewController时EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2356882/