Cyp*_*ian 12 iphone objective-c nsnotificationcenter ios
我要么是大脑受损了,要么是我缺少一些NSNotificationCenter
问题是,如果我创建一个观察者,并在下一行将尝试删除它,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(removeAllVisibleMapViews) name:@"ClearVisibleMaps" object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self forKeyPath:@"ClearVisibleMaps"];
Run Code Online (Sandbox Code Playgroud)
我明白了
*** Terminating app due to uncaught exception 'NSRangeException', reason: 'Cannot remove an observer <MyApp 0x592db70> for the key path "ClearVisibleMaps" from <NSNotificationCenter 0x4e0fbb0> because it is not registered as an observer.'
Run Code Online (Sandbox Code Playgroud)
我添加和删除观察者一行一行只是为了说明一点.在我的代码中,我将在dealloc中使用remove.
所以任何想法为什么它告诉我,我没有首先添加和观察者?
Eim*_*tas 24
您正在删除密钥路径的观察者,而不是通知名称.删除应该是这样的:
[[NSNotificationCenter defaultCenter] removeObserver:self
name:@"ClearVisibleMaps"
object:nil];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7333 次 |
最近记录: |