diff --git a/WordPress/Classes/ViewRelated/NewGutenberg/NewGutenbergViewController.swift b/WordPress/Classes/ViewRelated/NewGutenberg/NewGutenbergViewController.swift index cd9e5ed22d1c..a7f473c72092 100644 --- a/WordPress/Classes/ViewRelated/NewGutenberg/NewGutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/NewGutenberg/NewGutenbergViewController.swift @@ -113,8 +113,8 @@ class NewGutenbergViewController: UIViewController, PostEditor, PublishingEditor private var hasEditorStarted = false private var isModalDialogOpen = false - lazy var autosaver = Autosaver() { - self.performAutoSave() + lazy var autosaver = Autosaver() { [weak self] in + self?.performAutoSave() } // MARK: - Private Properties @@ -197,6 +197,14 @@ class NewGutenbergViewController: UIViewController, PostEditor, PublishingEditor deinit { tearDownKeyboardObservers() + + // Cancel any pending tasks + editorLoadingTask?.cancel() + + // Clean up child view controller + editorViewController.willMove(toParent: nil) + editorViewController.view.removeFromSuperview() + editorViewController.removeFromParent() } // MARK: - Lifecycle methods