iOS Swift popViewController не выпускается из памяти? - PullRequest
0 голосов
/ 21 марта 2019

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

Я пробовал все следующие коды:

DispatchQueue.main.async {[weak self] in
    guard let strongSelf = self else { return }
    strongSelf.navigationController?.pushViewController(vc, animated: true)
}

и

DispatchQueue.main.async {[unowned self] in
    self.navigationController?.pushViewController(vc, animated: true)
}

и

self.navigationController?.pushViewController(vc, animated: true)

B UIViewctonroller имеет только 1 изображение в раскадровке, код отсутствует.

anyidea, как освободить закрытый "pop" UIVIewcontroller из памяти?

1 Ответ

1 голос
/ 21 марта 2019
  • убедитесь, что вы не установили сильные указатели на этот viewController (например, контроллер навигации), в противном случае этот контроллер будет удерживаться контроллером навигации
  • Старайтесь избегать использованиясильные свойства для IBOutlets.

  • , если вы используете self в своем коде, убедитесь, что оно является необязательным self, с помощью [слабых self] Swift Blocks. Оно будет освобождено, если нет других сильныхуказатели на это

...