Поскольку вы используете слабый делегат, это никоим образом не приведет к сохранению цикла.
Я думаю, что ваш viewController не освобождается, потому что ваш viewController все еще находится в стеке вашей навигации.
Попробуйте удалить все viewControllers из стека навигации, и тогда ваш блок освобождения будет работать как обычно.
Попробуйте следующий код в зависимости от ваших требований (присутствует / нажмите), когда вы возвращаетесь к своему homeViewController:
self.navigationController?.popToRootViewController(animated: true)
self.view.window?.rootViewController?.dismiss(animated: true, completion: nil)
Редактировать:
Убедитесь, что ваш протокол относится к типу классов, тогда будет работать только слабая ссылка.
protocol LoadImagePickerManager: class {
}
В вашем PickerManager попытайтесь отклонить, используя следующий код, он перенаправит вас на контроллер rootview, но вы можете снова нажать или представить требуемый контроллер представления:
self.view.window?.rootViewController?.dismiss(animated: false, completion: nil)
Конечно, документация по Catalyst :: View :: HTML :: Template немного скудна и сама по себе не является учебником, но она охватывает настройку основных HTML :: Template settings ( die_on_bad_params
и т. Д.) И заявляет, что « Параметры шаблона устанавливаются из содержимого $ c-> stash », которое выглядит мне так, как должно хватит, чтобы начать.