In class ViewController: NSViewController
UserDefaults.didChangeNotification Brände jedes Mal, wenn Ansicht
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func viewWillAppear() {
super.viewWillAppear()
NotificationCenter.default.addObserver(self, selector: #selector(userDefaultsDidChange), name: UserDefaults.didChangeNotification, object: nil)
}
override func viewWillDisappear() {
super.viewWillDisappear()
NotificationCenter.default.removeObserver(self, name: UserDefaults.didChangeNotification, object: nil)
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
func userDefaultsDidChange() {
print("user defaults did change.")
}
}
Es gibt keinen anderen Code zu UserDefaults
verwandt ist. Wenn die App startet, wird UserDefaults.didChangeNotification
ausgelöst, wenn ich das Fenster mit ViewController berühre, wird UserDefaults.didChangeNotification
erneut ausgelöst.
Ich weiß nicht, warum das passiert, da es überhaupt nichts geändert hat.
------------------- Das ist ein Fehler -------------------
Ich kontaktierte Apple mit TSI, Leute in Apple schlugen mir vor, einen Bug auf diese Datei zu schreiben. Ich tat. rdar://28928098
Hat stellen Sie 'frameAutosaveName' oder "Automatisches Speichern" des Fensters? – Willeke
Nein, es ist nur ein neu erstelltes Projekt. –
Ich habe versucht, Ihren Code und 'userDefaultsDidChange' wird einmal ausgelöst. Was meinst du mit "wenn ich das Fenster berühre"? – Willeke