我期待通过TestFlight和最频繁的崩溃我的崩溃报告是:我的观察员为何未注册?
,因为它未注册无法删除观察员“ListViewController 0x1d590500”从“ListArchiver 0x1d5b83b0”关键路径“batchImageDownloadingInProgress”作为观察员。
在ListViewController
:
- (void)viewWillAppear:(BOOL)animated
{
...
[[WanderlistArchiver sharedArchiver] addObserver:self forKeyPath:@"batchImageDownloadingInProgress" options:NSKeyValueObservingOptionNew context:nil];
}
// **** the error happens in here ****
- (void)viewWillDisappear:(BOOL)animated
{
...
[[WanderlistArchiver sharedArchiver] removeObserver:self forKeyPath:@"batchImageDownloadingInProgress"];
}
如果我成立了观察员viewWillAppear
(不要在代码中触摸它在其他地方),它为什么仍然注册时viewWillDisappear
运行?这在过去的90天里只发生过5次,但我仍然想明白为什么会发生这种情况。
一定要调用'[super viewWillAppear:animated]'和'[super viewWillDisappear:animated]'。我不认为这是你的问题,但可能会导致意想不到的结果。 –
是的,我确实这样做了,但是让它更加专注。 – djibouti33
您的sharedArchiver单身人士如何处理?有没有可能在不同于addObserver的实例上调用removeObserver? – Taum