Iphone UINavigationController不总是推送项目?

Iphone UINavigationController不总是推送项目?,iphone,uinavigationcontroller,uinavigationbar,Iphone,Uinavigationcontroller,Uinavigationbar,我将视图从第一视图推到第二视图。当第二个视图出现时,导航栏看起来像上图。在这张图片中,我有一个标题为列表的按钮。当我点击列表按钮,然后出现第三个视图。为此,我使用了这个代码 -(IBAction)list{ place_Object=[[Places alloc] initWithNibName:@"Places" bundle:nil]; [self.navigationController pushViewController:place_Object animated:YES]; [p

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

 -(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];
}

现在的问题是,当点击列表按钮时,有时视图会出现,有时视图不会被导航按下,并且会出现任何错误。这段代码中的错误是什么,或者是什么错误导致了它的发生


提前感谢…

place\u对象是place的实例吗

如果将place_对象声明为:

PLACE *place_object;

您不应该在-IBActionlist中发布它。尝试从-iActionList中删除[place release],并将其添加到-voiddealloc函数中

如果在您puhs按钮列表时第一次出现视图,然后收到错误,则mayby来自此[place_Object release];。你必须释放in-voiddealloc,否则你称之为僵尸。试着用仪器进行研究。使用Run/Run和性能工具/分配,只需启用Zombie,看看会发生什么。
希望这对您有所帮助。

在上述方法中添加日志语句。问题是没有调用该方法,在这种情况下,您的问题在别处。您发布的代码看起来不错。@jrturton我有三个视图第一个第二个第三个。我从第一个导航到第二个,从第二个导航到第三个,从第一个导航到第二个,从第三个导航到第一个导航到第二个,现在单击列表按钮转到第三个,问题就会出现。好的,您可以编辑您的问题以包括设置右栏按钮项的部分,还是在interface builder中执行此操作?另外,您是否按照我的建议进行了日志记录,结果如何?风格提示:Objective-C中的常见惯例是在不干预分数的情况下对变量进行分类。在你在世界上遇到的代码中,你的变量place_对象很可能拼写为placeObject。你是说如何使用zombie?如何在工具分配中使用僵尸,或者什么叫僵尸?