0

点击一个按钮,我正在UIViewController使用以下代码从我的故事板中加载...

InfoViewController *dst = [self.storyboard instantiateViewControllerWithIdentifier:@"InfoViewIdentifier"];
[self.view insertSubview:dst.view atIndex:0];
dst.view.frame = CGRectMake(0, 480, 320, 480);

[UIView beginAnimations: @"infoAnimation" context: nil];
[UIView animateWithDuration: 1.0f animations: ^{dst.view.frame = CGRectMake(0, 0, 320, 480);}];
[UIView commitAnimations];

一切都很好。生成的视图上有几个按钮,操作简单(关闭视图、在 safari 中打开 URL 等),只要我点击其中任何一个,我就会收到异常。奇怪的是,它可能会抛出两个异常之一......

  • 线程 1:EXC_BAD_ACCESS (code=1, address=...) - 显示应用程序仍在异常断点处运行。
  • 缺少标识符 UpstreamPlaceholder-2 的代理 - 显示在日志中

我也用自定义的segues尝试过这个,我得到了同样的结果。

编辑:

经过更多测试,它似乎随机抛出错误访问错误(大多数情况下,80%+)。如果未引发该异常,则在 safari 中打开的链接有效,但关闭视图的链接会引发代理标识符错误。

任何帮助将不胜感激。

4

2 回答 2

1

添加到上一个答案:标识符 UpstreamPlaceholder-xx 的缺少代理也可能在情节提要错误配置中引发。像重复的 CellIdentifier ...

于 2012-09-05T00:05:45.353 回答
0

好的,这里完全是菜鸟问题。该问题与在方法中使用局部变量有关。ARC 大部分时间都在扼杀内存中的视图(我的 80% 参考)。我将dst变量移动到我的头文件中,一切都按预期工作。

于 2012-08-27T21:45:34.337 回答