1

自从升级到 6 以来,我的 ios 应用程序一直存在问题。我确定我的某些配置有误,直到现在都被隐藏了。

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

编辑:重要的是不要让登录视图控制器将“模式”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

4

1 回答 1

0

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

尽管如此,苹果不会删除那些未使用的 VC 实例还是很奇怪的行为……我想念 pageDidUnload……

于 2012-10-05T13:33:33.413 回答