UISplitViewController не освобождает DetailViewController, когда он уволен в свернутом режиме - PullRequest
0 голосов
/ 22 сентября 2018

Я надеюсь, что смогу правильно задать этот вопрос.У меня нет кода, который показывает проблему, поэтому это может быть проблемой.

Я использую UISplitViewController.Меня беспокоит, когда приложение запускается на устройстве с классом компактного горизонтального размера (т.е. оно не выглядит как UISplitViewController).Segue «Show» используется для отображения DetailViewController.Кнопка «назад» используется для отмены этого контроллера. Когда кнопка «Назад» используется, контроллер не освобождается из памяти.Он остается DetailViewController до тех пор, пока не будет показан другой подробный контроллер.Проблема в том, что я позволяю пользователю провести пальцем влево по элементу в MainViewController, чтобы удалить его;и если удаляемый объект все еще отслеживается KVO или иным образом на него ссылаются в DetailViewController, это приводит к сбою приложения.Я не могу удалить наблюдателей в viewWillDisappear: DetailViewController, потому что мне действительно нужно, чтобы они остались.У меня нет кода, чтобы показать эту проблему, потому что я считаю, что это спроектированное поведение UISplitViewController, и я не уверен, какой код я бы показал.И в некоторых случаях такое поведение имело бы смысл - но на устройстве с классом компактных горизонтальных размеров, где свернут UISplitViewController, я думаю, что такое поведение нежелательно.Как опытный разработчик справится с этой ситуацией?Я продолжаю думать о хакерских вещах (способы попытаться принудительно освободить DetailViewController), но как правильно справиться с этим, чтобы мое приложение не зависало в описанной мной ситуации?

Я сделалнайдите этот вопрос, который похож (хотя у меня речь идет о другой проблеме, в том числе о вызываемой аварии);но в любом случае на этот вопрос не было ответов, и решение, описанное в комментариях (в ответ на мой вопрос), выглядело хакерским.

UISplitViewController: Deinit DetailView в свернутом режиме

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...