我期待通過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