我有一个序列,我需要UIViewcontroller
从课堂外弹出一个。从服务器我会得到一个注销事件,如果视图控制器是打开的,我需要弹出它。所以我这样做是为了找到顶视图控制器并弹出它:
UIViewController *top_view_ctrlr = [self.navigationController topViewController];
if (top_view_ctrlr.view != nil) {
[top_view_ctrlr.view removeFromSuperview];
}
// Popping only the top view controller.
[top_view_ctrlr.navigationController popToViewController:dash animated:NO];
然后我设置nil
所有创建的视图控制器,例如:
if (history != nil) {
history = nil; // Here history is an view controller. Because it is not on top, I am setting only nil here to release all its memory.
}
当我使用 ARC 时,我想我不需要太担心历史中的内存释放。但是,它崩溃了:
[history_class tableView:cellForRowAtIndexPath:]
: 发送到已释放实例的消息。
可能是什么问题呢?为什么当我将对象设置为时它会崩溃nil
?