iOS6 + Storyboard +看起来是双倍

问题描述:

自升级到6以来,我一直有我的ios应用程序出现问题。我确定我有一些配置错误,直到现在被隐藏。iOS6 + Storyboard +看起来是双倍

我正在使用故事板,并作为我的第一视图,只是一个普通的旧香草视图控制器。这是我的登录页面。当你点击“登录”按钮时,它会跳到“选项卡栏控制器”,其中有一堆标签,包括一个带有“注销”按钮的标签。

编辑:重要的是不要登录视图控制器推动“MODAL”segue到选项卡栏控制器。

“注销”按钮将运行一个

[self dismissModalViewControllerAnimated:YES]; 

发送回给登录视图。用户然后可以继续并重新登录等等...

问题是,它似乎每一次我从登录到标签视图去我得到一些重复。我知道这样做的原因是因为在标签视图我有一个

[[NSNotificationCenter defaultCenter] removeObserver:self]; 

// Register observer to be called when download of data is complete 
[[NSNotificationCenter defaultCenter] removeObserver:self name:OBJECTS_LOADED_NOTIFICATION object:nil]; 
[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(coreDataViewController_downloadDataComplete:) 
              name:OBJECTS_LOADED_NOTIFICATION 
              object:nil]; 

这应该已经删除页面上的任何观察员和只添加新的。然而,它一直在不断地增加观察员。这导致我相信内存中有多个版本的页面。

有人可以帮忙!?我一直试图连续四天解决这个问题,但没有结果。我敢肯定,这是疯狂的愚蠢,但我不能为我的生活弄清楚什么。

感谢 马特

编辑: 每请求我加入了更多的代码... :-)我想这是容易只是发布整个项目,而随后发布位,它的一部分。

https://github.com/MCKRUZ/Iphone

+0

你应该在viewWillDissappear在viewWillAppear中添加观察员和删除在你的情况。此外,在iOS6中不推荐使用dismissModalViewControllerAnimated:YES。 – Shmidt

+0

将观察者置于viewWillAppear中并在viewWillDisappear中将其删除将有助于观察者,但不会摆脱我的模态重复问题。但这是一个很好的提示,谢谢。 – Matt

+0

同样将代码移到非折旧方法也没有帮助。 – Matt

好吧,我解决了/规避这个问题。基本上,它仍然重新创建VC的每一次我注销并重新登录,但我重新编写代码,以便它没有关系,因为我使用的对象上下文是在服务中,而不是在页面上。

尽管如此,它的古怪行为,苹果将不会删除的VC的未使用的情况下....我错过pageDidUnload ...