UINavigationController并不总是推送项目?

时间:2011-10-07 07:31:26

标签: iphone uinavigationcontroller uinavigationbar

navigation bar

我将视图从第一个视图推送到第二个视图。当第二个视图出现时,导航栏看起来像上面的图像。在这张图片中,我有一个标题为“列表”的按钮。当我点击列表按钮然后出现第三个视图。因为我使用了这段代码...

 -(IBAction)list{
place_Object=[[Places alloc] initWithNibName:@"Places" bundle:nil];

[self.navigationController pushViewController:place_Object animated:YES];
[place_Object release];
//self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil] autorelease];

}

现在问题是当点击列表按钮然后某个时候出现视图,有时候视图不会被导航推送并给出任何错误。这段代码中的错误是什么,或者错误发生了什么。

提前致谢...

2 个答案:

答案 0 :(得分:0)

place_object是PLACE的一个实例?

如果将place_object声明为:

PLACE *place_object;

你不应该在你的 - (IBAction)列表中发布它。尝试从 - (IBAction)列表中删除[place release]并将其添加到 - (void)dealloc函数中

答案 1 :(得分:0)

如果在您按下BUTTON列表时第一次出现VIEW,之后您收到错误,则mayby来自此 [place_Object release]; 。你必须释放 - (void)dealloc,否则你称之为僵尸。尝试用仪器研究。使用运行/运行性能工具/分配只需启用僵尸,看看会发生什么。 希望这能帮助你。