NSNotification被多次提升

时间:2011-02-02 09:42:41

标签: iphone ipad nsnotifications nsnotificationcenter

我正在开发一个电子书阅读器,我遇到了以下问题。我正在使用IBAction方法发布NSNotification,一旦按下按钮,就会调用一个动作方法。第一次工作绝对正常...... IBAction方法必须被称为evry time我点击按钮。完成此操作后,我需要转到我的主页,然后再返回并再次单击该按钮。这是我面临的问题。该方法从第二次被调用不止一次,而且这个数字只会不断增加..请帮助我....

//IBAction Method
if (sender.tag == PenToolAction) {

    GLogInfo(@"Pen tool tapped");
    [self hideSelf];
    [[NSNotificationCenter defaultCenter] postNotificationName:PenToolActionInitialized object:nil];
}

2 个答案:

答案 0 :(得分:35)

如果您在多次调用的方法中添加通知观察者,您也会多次收到通知。

尝试将[[NSNotificationCenter defaultCenter] addObserver:...]置于init方法中,或者直接拨打[[NSNotificationCenter defaultCenter] removeObserver:self]

答案 1 :(得分:1)

非常感谢你的支持..我找到了我的问题的解决方案......我的代码中的主要罪魁祸首是内存管理的问题......我用x-code analyzer来检查泄漏并发现我忘了发布一个主变量.....我发布变量,现在我的代码工作正常....