Ich habe ein sehr einfaches Projekt: Es gibt nur eine ViewController
und eine UIButton
. Die IBAction
für die Schaltfläche ist:UIAlertController und Speichernutzung
var alertViewControllerTextField: UITextField?
var promptController = UIAlertController(title: "Type Something", message: nil, preferredStyle: .alert)
let ok = UIAlertAction(title: "OK", style: .default, handler: { (action) -> Void in
print("\(alertViewControllerTextField?.text)")
})
let cancel = UIAlertAction(title: "Cancel", style: .cancel) { (action) -> Void in
//promptController = nil
}
promptController.addAction(ok)
promptController.addAction(cancel)
promptController.addTextField { (textField) -> Void in
alertViewControllerTextField = textField
}
self.present(promptController, animated: true, completion: nil)
Wenn die App beendet starten, Speichernutzung 14,4 Mb ist.
Wenn ich den Knopf klicke, erreicht er 18,4 Mb (wenn ich immer wieder auf den Knopf klicke, erreicht er schließlich 20 Mb).
Wie auch immer, dachte ich, wenn ich die der UIAlertController geklickt abbrechen oder ok Taste, Speicher zu 14,4 zurückgekehrt wären, wenn auch langsam, aber dies ist nicht der Fall.
Ich dachte, die UIAlertController
ein optional
haben die Chance, machen es zu einem nil
auf nahe zuweisen, aber die UIAlertController
nicht nil
sein können, weil Sie es als optionales nicht erklären kann. Ich dachte, es zu einem Mitglied zu machen und es mit dem weak
Schlüsselwort zu erklären (kein Glück).
Gibt es eine Möglichkeit, die Speichernutzung zu reduzieren, wenn ich auf eine der Schaltflächen eines UIAlertControllers klicke?
Ist das im Simulator oder auf dem Gerät? – jjatie
Es ist im Simulator, habe nicht versucht, Gerät –
Versuchen Sie es auf dem Gerät. Die Speicherbelegung im Simulator bietet keine genaue Darstellung. – jjatie