iOS6 + Storyboard +似乎是双打

时间:2012-10-04 20:28:27

标签: storyboard ios6 viewcontroller

自升级到6以来,我的ios应用程序出现了问题。我确信我的配置错误,直到现在才被隐藏。

我正在使用故事板,并将其作为我的第一个视图,只是一个普通的老式香草视图控制器。这是我的登录页面。当您单击“登录”按钮时,它会切换到“标签栏控制器”,其中包含一组标签,其中包含一个带有“注销”按钮的标签。

编辑:重要的是,登录视图控制器不会将“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];

应该删除页面上已有的所有观察者并添加新观察者。然而,它只是一遍又一遍地加入观察者。这让我相信在内存中的某个页面有多个版本。

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

由于 马特

编辑: 根据请求,我添加了更多代码...... :-)我认为发布整个项目比发布它的部分内容更容易。

https://github.com/MCKRUZ/Iphone

1 个答案:

答案 0 :(得分:0)

好的,我解决/规避了这个问题。基本上它每次我注销并重新登录时仍然会重新创建VC,但是我重新编写了代码,因此如果它这样做并不重要,因为我使用的对象上下文是在服务中,而不是在页面上。

然而,奇怪的是,苹果不会删除那些没有被使用的VC实例......我想念pageDidUnload ......