Cocoa touch UINavigationController因NSArray变量而崩溃

Cocoa touch UINavigationController因NSArray变量而崩溃,cocoa-touch,memory-management,ios,Cocoa Touch,Memory Management,Ios,我将视图控制器推入当前导航控制器。它工作正常,但当我离开当前视图控制器时,它崩溃了 MyTableView *newPage = [[MyTableView alloc] initWithNibName:@"table2" bundle:nil]; [[self navigationController] pushViewController:newPage animated:YES]; //[newPage release]; 我把最后一行注释掉以防崩溃。我读了另一篇关于变量被过度释放的帖子

我将视图控制器推入当前导航控制器。它工作正常,但当我离开当前视图控制器时,它崩溃了

MyTableView *newPage = [[MyTableView alloc] initWithNibName:@"table2" bundle:nil];
[[self navigationController] pushViewController:newPage animated:YES];
//[newPage release];
我把最后一行注释掉以防崩溃。我读了另一篇关于变量被过度释放的帖子。在新页面中,我只有一个变量(arrCellText),并在initWithNibName中初始化

NSArray *temp = [[NSArray alloc] initWithObjects:@"string1", @"string2", @"string3", nil];
[self setArrCellText: temp];
[temp release];
我把释放放在了dealloc里

[arrCellText release];
如果我评论一下arrCellText的设置和发布,它也可以正常工作。
我不能完全理解内存管理,我想更好地理解这一点。TIA

车祸发生在哪里? 首先,您可以在将“newPage”推到navigationController上后释放它(因为它保留在那里)


回来后,您可以尝试访问newPage中的任何内容。”newPage'同时发布,因此具有一些垃圾值(但不是零)。

您是如何设置arrCellText属性的,还是如何实现-setArrCellText:?是的,我有:@property(nonatomic,retain)NSArray*arrCellText在我的.h文件和@synthesis arrCellText中;在.m文件中。我只是拿出那些//然后再运行一次。这次它没有崩溃。我真的很困惑。