代码之家  ›  专栏  ›  技术社区  ›  Rudiger

从视图控制器传递字典

  •  0
  • Rudiger  · 技术社区  · 15 年前

    在我的一个导航视图控制器中,我构建了一个字典数组以显示在表中。根据我选择的词典,然后使用 nsdictionary*notice=[通知对象索引:RoomIndex];

    我使用创建新的视图控制器 feed*notice_view=[[notice alloc]initwithobject:notice];

    我推导航视图控制器,并实现了initWithObject,它接受一个字典。

    我发布通知和通知视图,所有这些工作正常,但如果我选择返回,选择它返回大约第三次或第四次整个应用程序崩溃。如果我不把它们都释放出来,那就没问题了。当然,除了记忆泄漏。如果我只释放其中一个,其中任何一个,它就会再次失败。给出了什么?我应该不使用initWithObject还是以其他方式传递它?我也尝试过使用autorelease,但结果是一样的。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Girish Kolari    15 年前

    注意-您不应该释放,因为您不拥有该对象(您只是使用从nsarray返回的对象),否则在从nsarray检索该对象并在稍后释放时保留该对象。

    注意,视图-根据您的解释,我看不到释放的任何问题,我假设您没有从代码的其他部分引用这个对象。

        2
  •  0
  •   Ben Gottlieb    15 年前

    我猜你会想摆脱[SelectedNotice Release],因为里面似乎没有相应的-retain调用。