Iphone 在查看其他应用程序后尝试查看表视图时,应用程序崩溃

Iphone 在查看其他应用程序后尝试查看表视图时,应用程序崩溃,iphone,objective-c,ios,xcode,uitableview,Iphone,Objective C,Ios,Xcode,Uitableview,今天我有一件很难的事要告诉你。我的应用程序中有两个TableView,第一个在第一页上。还有另外两个页面,用户可以深入到第二个表视图。离开第一个表视图后,我可以按“后退”按钮完全返回,直到到达第二个表视图。当我向下钻取到第二个表格视图,然后通过按下后退按钮尝试返回到第一个表格视图时。当我点击最后一个后退按钮返回到第一个表视图时,应用程序崩溃了。后退按钮的代码很简单: - (IBAction)goBack:(id)sender { [self dismissModalViewControl

今天我有一件很难的事要告诉你。我的应用程序中有两个TableView,第一个在第一页上。还有另外两个页面,用户可以深入到第二个表视图。离开第一个表视图后,我可以按“后退”按钮完全返回,直到到达第二个表视图。当我向下钻取到第二个表格视图,然后通过按下后退按钮尝试返回到第一个表格视图时。当我点击最后一个后退按钮返回到第一个表视图时,应用程序崩溃了。后退按钮的代码很简单:

- (IBAction)goBack:(id)sender {
    [self dismissModalViewControllerAnimated:YES];
}

任何帮助都将不胜感激!!谢谢大家!!:听起来你发布的东西太早了。在instruments(command+i)中打开应用程序并运行僵尸测试

一旦你看到僵尸被告知,展开右边的面板,看看用户代码(你的代码)块。由后台人员图标指示


双击该按钮,它将显示它试图访问的内容,该内容已经发布。

听起来您发布的内容太早了。在instruments(command+i)中打开应用程序并运行僵尸测试

一旦你看到僵尸被告知,展开右边的面板,看看用户代码(你的代码)块。由后台人员图标指示


双击该按钮,它将指示它试图访问的已发布内容。

每当我从XIB创建模式视图控制器时,automatic@property generator会复制Dealloc方法中的内容,从而在视图被取消时抛出EXC_BAD_访问。确保您没有两次发布某个内容。

每当我从XIB创建模态视图控制器时,自动@property generator会复制Dealloc方法中的内容,从而在视图被取消时抛出EXC_BAD_访问。确保您没有两次发布某些内容。

您的表视图是否显示在模式窗口中?如果没有,为什么要打电话给[自我解除管理控制器激活:是]?您是否应该呼叫[[self-navigationController]PopViewController激活:是]


如果您使用的是UINavigationController,则应自动提供后退按钮功能。

您的表视图是否显示在模式窗口中?如果没有,为什么要打电话给[自我解除管理控制器激活:是]?您是否应该呼叫[[self-navigationController]PopViewController激活:是]


如果您使用的是UINavigationController,则应自动提供后退按钮功能。

如果您使用[[self-navigationController]PopViewController初始化:YES]来

然后在背面写下如下所述:

  • (iAction)goBack:(id)发送方{
    //告诉控制员回去 [self.navigationController PopViewControllerInitiated:是]; }
如果您使用的是[self-presentmodalviewcontroller:animated:]
如果您正在使用[[self-navigationController]PopViewControllerInitiated:YES]来

然后在背面写下如下所述:

  • (iAction)goBack:(id)发送方{
    //告诉控制员回去 [self.navigationController PopViewControllerInitiated:是]; }
如果您使用的是[self-presentmodalviewcontroller:animated:]
然后只有[self-dismissModalViewControllerAnimated:YES]会起作用

您尝试这个[[self-navigationController]popViewControllerAnimated:YES]

您尝试这个[[self-navigationController]popViewControllerAnimated:YES]

您需要发布更多的代码,因为这个方法没有问题;你可能忽略了一个随机的问题,你需要发布更多的代码,因为这个方法没有什么问题;你可能忽略了一个随机的问题。我对这个很陌生,所以我可以问一下模态窗口到底是什么吗??谢谢你的帮助!:另外,我没有使用导航控制器。所以我自己添加了back功能!我对这个很陌生,所以我可以问什么是模态窗口吗??谢谢你的帮助!:另外,我没有使用导航控制器。所以我自己添加了back功能!很 完美!!:我正在释放我的表视图!非常感谢DYour的答案有点像不应该在
dealoc
中发送
release
,这是不正确的,因为
dealoc
是执行内存清理的最终位置(并且可能在没有执行的情况下运行,例如,
viewDidUnload
)。如果插座在
dealoc
之外发布,则应将插座设置为
nil
,以便
release
可以安全发送。Josh,我的回答是,当我通过XIB创建一个局部变量和@property时,它会复制dealoc中的发布,您的意思是您已经有了
[dinkus release]
dealoc
中,Xcode插入另一个
[dinkus发行版]
?听起来很值得。不,我理解它为什么这么做。Xcode希望您的IVAR和本地VAR以不同的方式命名(即_object=object),因此当属性与本地变量命名相同时,它会在dealoc中释放它们两次。没有bug,只是Xcode需要一个不同的inputPerfect!!:我正在释放我的表视图!非常感谢DYour的答案有点像不应该在
dealoc
中发送
release
,这是不正确的,因为
dealoc
是执行内存清理的最终位置(并且可能在没有执行的情况下运行,例如,
viewDidUnload
)。如果插座在
dealloc
之外发布,则应将插座设置为
nil
,以便可以安全发送
release
。Josh,我的回答是,当我通过XIB创建一个局部变量和@property时,它会复制dealloc中的发布,你是说你是一个