TestFlight でクラッシュ レポートを調べていますが、最も頻繁に発生するクラッシュは次のとおりです。
オブザーバーとして登録されていないため、「ListArchiver 0x1d5b83b0」からキー パス「batchImageDownloadingInProgress」のオブザーバー「ListViewController 0x1d590500」を削除できません。
で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 回しか発生していませんが、なぜこれが発生したのかを理解したいと思います。