线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x30000008)

时间:2013-10-07 04:45:59

标签: ios xcode

我仍然坚持这个问题,甚至按照这个论坛的所有答案。任何人都可以用简单的方式告诉我该怎么做?我是xcode的新学习者。我启用了僵尸对象。

这是我崩溃的编码

if ([[[AryStoreknowItem objectAtIndex:indexPath.row] objectForKey:@"action"] isEqualToString:@"a1"]) {

    NSString *t1 =[[AryStoreknowItem objectAtIndex:indexPath.row] objectForKey:@"title"];

    NSString *a1 = [[AryStoreknowItem objectAtIndex:indexPath.row] objectForKey:@"action"];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    // saving an NSString
      [defaults setObject:a1 forKey:@"a1"];
      [defaults setObject:t1 forKey:@"t1"];

    JournalPage *journal=[[JournalPage alloc]initWithNibName:@"JournalPage" bundle:nil];

    [self presentModalViewController:journal animated:YES];

在我的应用程序中,我有多个ViewController。当我点击UINavigationBar的后退按钮然后生成这种类型的问题时,我无法解释我的问题,因为所有功能都正常工作。

示例: -

1 - fitstVController(正常工作)

=>它有UITableView,当我点击特定的行然后它将进入另一个UIViewController(SecoundViewController)

2 - SecoundViewController(正常工作)

=>它有UITableView和UIActionSheet。当我选择UiActionSheet的按钮然后另一个UIViewController(ThirdViewController)打开

3 - ThirdViewController(无法打开)

=>当我点击第三行时出现错误。同样如果我点击其他单元格,我点击的第三个单元格会在转到其他页面之前崩溃

4 个答案:

答案 0 :(得分:12)

我认为我们没有足够的诊断任何特定问题(并且很难按照您的描述)。尽管如此,我还是建议:

  1. 我建议通过静态分析器运行代码(Xcode“产品”菜单上的“分析”),并确保不提供任何警告。这将(除其他事项外)识别许多常见的内存问题,这些问题很容易困扰非ARC代码。在这里得到一份健康的健康状况之前,没有必要再进一步了。

  2. 我建议启用Exception Breakpoint并查看是否标识了作为问题根源的特定代码行。有时,这可以识别代码行,而无需通过查看堆栈跟踪来反向设计发生错误的位置。

  3. 鉴于您正在使用非ARC代码,您可能还想暂时打开僵尸。您可以在Scheme Configuration设置中看到此设置。

  4. 除此之外,我会向您推荐Ray Wenderlich的文章My App Crashed, Now What?

  5. 如果您仍然有错误,请与我们分享堆栈跟踪。

答案 1 :(得分:2)

当对象仍在访问ViewController时,您可能已经解散了它。这是我的问题,阅读Rob的回答有帮助。

答案 2 :(得分:1)

我在使用可重用的视图/ XIB时遇到了这个错误,并且同时发生了两个错误:

  • 我忘了在身份检查器中指定自定义类的名称

    enter image description here

  • 我将视图转换为我的视图类中的特定视图类

    enter image description here

在Identity Inspector中指定视图类可以更正错误

答案 3 :(得分:-1)

这类问题通常是由于内存释放/分配而发生的

转到

  

产品->清洁

在大多数情况下将解决此问题