Skip to content

Repository files navigation

DeallocationChecker

Learn about leaking view controllers without opening Instruments.

Build Status

Usage

First, enable the library by calling (for example from your application delegate):

#if DEBUGDeallocationChecker.shared.setup(with:.alert) // There are other options than .alert too!
#endif

Then, in your view controllers from within viewDidDisappear(_:) override, call:

overridefunc viewDidDisappear(_ animated:Bool){
super.viewDidDisappear(animated)DeallocationChecker.shared.checkDeallocation(of:self)}

If a view controller isn’t deallocated after disappearing for good, you'll see a helpful alert:

Leaked view controller demo

At this point we can simply open the Memory Graph Debugger to investigate the reason of a cycle.

Installation

CocoaPods

Add the line pod "DeallocationChecker" to your Podfile

Carthage

Add the line github "fastred/DeallocationChecker" to your Cartfile

Author

Project created by Arek Holko (@arekholko on Twitter).

About

Catch leaking view controllers without opening Instruments.

Resources

Stars

796 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages