在我的一个导航视图控制器中,我构建了一个要在表格中显示的字典数组。根据我选择的那个,然后使用从数组中删除字典 NSDictionary * notice = [notices objectAtIndex:roomIndex];
我使用创建新的视图控制器 Feed * notice_view = [[Notice alloc] initWithObject:notice];
我按下导航视图控制器,我实现了带字典的initWithObject。
我发布了通知和notice_view,所有这一切都运行正常,但如果我选择了回去,请选择它返回大约第三次或第四次整个应用程序崩溃。如果我不释放它们两者,它可以正常工作没有问题,除了当然内存泄漏。如果我只释放其中一个,其中任何一个,它再次失败。是什么赋予了?我应该不使用initWithObject还是应该以其他方式传递它?我也试过使用自动释放但结果相同。
答案 0 :(得分:1)
注意 - 您不应该发布,因为您不拥有该对象(您只是使用从NSArray返回的对象),否则在从NSArray检索对象并在稍后阶段发布时保留此对象。
notice_view - 根据你的解释,我没有看到发布的任何问题,我假设你没有从代码的其他部分引用这个对象。
答案 1 :(得分:0)
我猜你想要摆脱[selectedNotice发布],因为那里似乎没有相应的-retain调用。