diff --git a/Rebel/RBLViewController.m b/Rebel/RBLViewController.m index b04cdaa..0607442 100644 --- a/Rebel/RBLViewController.m +++ b/Rebel/RBLViewController.m @@ -11,6 +11,8 @@ @interface RBLViewController () +@property (nonatomic, strong) NSView *currentView; + @end @implementation RBLViewController @@ -20,6 +22,13 @@ +(id)viewController return [[self alloc] initWithNibName:NSStringFromClass([self class]) bundle:nil]; } +-(void)dealloc { + if (_currentView.rbl_viewController == self) { + _currentView.rbl_viewController = nil; + } + _currentView = nil; +} + -(void)loadView { [super loadView]; @@ -30,6 +39,11 @@ -(void)setView:(NSView *)view { super.view = view; self.view.rbl_viewController = self; + + if (_currentView.rbl_viewController == self) { + _currentView.rbl_viewController = nil; + } + _currentView = view; } - (void)viewDidLoad