首页 > 代码库 > xcode工程编译错误:"An instance 0xca90200 of class UITableView was deallocated while key value observers were still registered with it"

xcode工程编译错误:"An instance 0xca90200 of class UITableView was deallocated while key value observers were still registered with it"

An instance 0xca90200 of class UITableView 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:

<NSKeyValueObservationInfo 0xd253ef0> (

<NSKeyValueObservance 0xc5ea1f0: Observer: 0xc5e9560, Key path: contentOffset, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0xd249490>

<NSKeyValueObservance 0xd26a430: Observer: 0xd241970, Key path: contentSize, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0xd251df0>

<NSKeyValueObservance 0xd26a470: Observer: 0xd241970, Key path: contentOffset, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0xd249490>

)

翻译的意思大概就是,uitableview注册了观察者,然后没有被注销掉,又开始重复使用了,我是这么理解的。
我这个页面的功能很简单。就是从列表页面进入到详情页,然后详情页的布局是一个scrollview上放了一个uitableview,uitableview继承了上拉刷新。
我发现这个问题的由来: 当我第一次点详情页后,然后返回,第二次进去,然后返回,次数多了以后。然后就Collapse崩溃了。

解决方法: 

- (void)dealloc{

    [_header free];

    [_footer  free];
}

xcode工程编译错误:"An instance 0xca90200 of class UITableView was deallocated while key value observers were still registered with it"