DTResurrectionKit
DTResurrectionKit copied to clipboard
Infinite Loop
When you are in debug mode, load a view then save again, it crashes with an infinite loop.
The log's also showing some nasty NSKeyValueObservation leaks...
from the log:
2010-10-19 15:47:07.493 DTResurrectionKit[37467:207] <DTModalTestViewController: 0x4b8e840>:presentVC: 2010-10-19 15:47:07.495 DTResurrectionKit[37467:207] <DTModalTestViewController: 0x4bc2670>:init 2010-10-19 15:47:08.480 DTResurrectionKit[37467:207] Could not load the "DTSpringBackButtonCancelSelected.png" image referenced from a nib in the bundle with identifier "com.yourcompany.DTResurrectionKit" 2010-10-19 15:47:09.476 DTResurrectionKit[37467:207] <DTModalTestViewController: 0x4e42160>:init 2010-10-19 15:47:09.477 DTResurrectionKit[37467:207] <DTModalTestViewController: 0x4e411d0>:init 2010-10-19 15:47:09.480 DTResurrectionKit[37467:207] An instance 0x4b8c780 of class UILayoutContainerView 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 0x4e2cbe0> ( <NSKeyValueObservance 0x4e2bfb0: Observer: 0x4b837a0, Key path: frame, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x4e27ee0> ) 2010-10-19 15:47:09.483 DTResurrectionKit[37467:207] <DTModalTestViewController: 0x4bddc50>:init 2010-10-19 15:47:09.483 DTResurrectionKit[37467:207] <DTModalTestViewController: 0x4e432d0>:init 2010-10-19 15:47:11.060 DTResurrectionKit[37467:207] <DTResurrectionController: 0x4b837a0>:resurrectionController resurrectionController Not Found 2010-10-19 15:47:11.061 DTResurrectionKit[37467:207] <DTResurrectionController: 0x4b837a0>:resurrectionController resurrectionController Not Found 2010-10-19 15:47:11.062 DTResurrectionKit[37467:207] <DTResurrectionController: 0x4b837a0>:resurrectionController resurrectionController Not Found
Yes, the debug mode is a definite proof of concept, which should definitely not be used in a production application. I have altered the project to show this better, removing the resurrection debugging tools from the master branch.
I still need to remove a lot of references to the debug mode in DTResurrectionController. Hopefully this makes some sense. :)