2017-06-07 1 views
2

In Swift 3 I registriert für Schlaf und Wach-Benachrichtigungen mit diesem Code:Wie man NSWorkspace-Benachrichtigungen zu Swift 4 migriert?

let notificationCenter = NSWorkspace.shared.notificationCenter 
notificationCenter.addObserver(self, selector: #selector(AppDelegate.sleepListener), name: NSNotification.Name.NSWorkspaceWillSleep, object: nil) 
notificationCenter.addObserver(self, selector: #selector(AppDelegate.wakeUpListener), name: NSNotification.Name.NSWorkspaceDidWake, object: nil) 

aber nach 4 bis Swift migrieren, bekomme ich diesen Fehler nach den vorgeschlagenen Korrekturen Anwendung:

Type 'NSNotification.Name' has no member 'NSWorkspace' 

Wie kann ich Mach das in Swift 4?

Antwort

4

Um dies zu beheben, müssen Sie nur den Code anpassen, der auf den Namen der Benachrichtigung von NSNotification.Name.NSWorkspaceWillSleep bis NSWorkspace.willSleepNotification verweist. Die Swift-4-Version ist:

let notificationCenter = NSWorkspace.shared.notificationCenter 
notificationCenter.addObserver(self, selector: #selector(AppDelegate.sleepListener), name: NSWorkspace.willSleepNotification, object: nil) 
notificationCenter.addObserver(self, selector: #selector(AppDelegate.wakeUpListener), name: NSWorkspace.didWakeNotification, object: nil) 

Sie here Apple API diffs für diese Änderung sehen.

Verwandte Themen