5 つのテーブル セルを含む第 1 レベルのビュー コントローラーとして UITableView を実装しています。これらのセルのいずれかをクリックすると、第 2 レベルのビューが表示されます。このレベル ビューの左上には、最初のレベル ビューに戻るための「戻る」ボタンがあります。第 2 レベルのビューで左右にスワイプすると、隣接するビューが連続して表示され、第 1 レベルのビューで隣接するテーブル セルにリンクされます。
実行後、一段目から二段目までOKです。しかし、「戻る」ボタンを押して、第 2 レベルのビューから第 1 レベルのビューに戻ると、次の問題が発生しました。
An instance 0x7a8f130 of class UIScrollView was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object.
Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger.
Here's the current observation info: (
Context: 0x0, Property: 0x9149570>
)
見つけた
- (void)viewDidUnload
{
[super viewDidUnload];
[self.scrollView removeObserver:self forKeyPath:@"frame"];
[self.scrollView removeFromSuperview];
_scrollView = nil;
}
GDIInfinitePageScrollViewController.m
無限スクロールビューコントローラーを実装するために使用しています。これをコメントアウトしたとき、問題はまだそこにあります。
ブレークポイントを設定NSKVODeallocateBreak
すると、次のようになります
0x1170ae0: pushl %ebp
しかし、私はそれが何を意味するのか分かりません。
この問題を解決する方法を知っている人はいますか?