я представляю простой UIViewController с помощью этого простого кодаУтечка памяти с использованием UIAlertController в Swift
@IBAction func addNewFeed(sender: UIBarButtonItem)
{
var alertView: UIAlertController? = UIAlertController(title: NSLocalizedString("New Feed", comment: "Titolo popup creazione feed"),
message: NSLocalizedString("Insert the Title and the Link for the new Feed.", comment: "Messaggio creazione nuovo feed"),
preferredStyle: UIAlertControllerStyle.Alert)
alertView!.addAction(UIAlertAction(title: NSLocalizedString("Cancel", comment: "Annulla popup creazione nuovo feed"),
style: UIAlertActionStyle.Cancel,
handler: nil))
presentViewController(alertView!, animated: true, completion: nil)
}
Когда я нажать кнопку на моем интерфейсе я называю это кажется IBAction и UIAlertController. Но когда я нажимаю на кнопку Отмена, чтобы закрыть контроллер Leak Tool нашли утечку, как вы можете видеть на этом изображении:
Я попытался положить закрытия, как это в параметре обработчика:
alertView!.addAction(UIAlertAction(title: NSLocalizedString("Cancel", comment: "Annulla popup creazione nuovo feed"),
style: UIAlertActionStyle.Cancel,
handler: {[weak self] action in self!.dismissViewControllerAnimated(true, completion: nil)
alertView = nil
}))
но всегда есть утечка.
Похоже, что это ошибка iOS. Проверьте [этот вопрос.] (Http://stackoverflow.com/questions/26247221/ios-8-only-memory-leak-with-uialertcontroller-or-uiactionsheet/30312928#30312928) – aksh1t