6

我有许多 UIViews 进入视野,然后离开视野并未被使用。但是,我相信他们中的一些人即使在他们离开后仍然会收到通知,这会导致问题。

在 UIView“父”容器上:

if(self._content != nil && [self._content respondsToSelector:@selector(presentMe:)]) {
    [self._content presentMe:NO];
}

在 UIView“孩子”:

[[NSNotificationCenter defaultCenter] <-- EXC_BAD_ACCESS (code=1, address=0x70000008
 postNotificationName:PRESENTING 
 object:self 
 userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:prepareToEnter], PRESENTING, nil]];

第一次一切正常,但如果我第二次启动相同的视图,我会得到一个 EXC_BAD_ACCESS。这不是说缺少什么吗?

仅供参考,这一切都在 ARC 中-xcode 4.3.2

4

1 回答 1

12

如果您正在调用addObserver视图中的项目,则需要removeObserver在 dealloc 期间调用。即使使用 ARC。

于 2012-04-25T20:43:42.113 回答