我正在添加一个视图控制器作为UIKeyboardWillShowNotification
通知的观察者。
我的代码中有此代码viewDidLoad
:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:nil];
在我的dealloc
:
[[NSNotificationCenter defaultCenter] removeObserver:self];
即使dealloc
在关闭视图控制器时调用观察者,也不会删除观察者。所以当我第二次打开它时,NSNotificationCenter 会尝试通知旧对象,该对象被释放,应用程序崩溃。
我在 StackOverflow 上看到了几个关于这个特定问题的问题,但没有一个答案对我有用。
我试过移除观察者viewWillDisappear
,viewDidDisappear
但同样的问题发生了。
我正在使用ARC。