[英]Swift: Default function parameter value via NotificationCenter
我有一個具有默認參數值的函數,如下所示:
@objc func myFunc(theFlag: Bool = false) {
}
通過通知中心調用此功能
NotificationCenter.default.addObserver(self, selector: #selector(myFunc), name: MyNotificationName, object: nil)
發布MyNotificationName時,將通過通知中心調用myFunc 。
我假設theFlag的默認值設置為“ false”,並且它在大多數設備上都能正常工作。 但是,我發現在32位設備上,將Flag設置為“ true”。
我想知道這是否不是通過通知中心調用具有默認值的函數的正確方法。 有官方的方式嗎?
我正在Swift 4.1,Xcode 9.4.1上進行測試
正確的方法是
@objc func myFunc(_ notification:Notification) // OR NSNotification also
不要期望NotificationCenter.default
為theFlag: Bool = false
設置一個值theFlag: Bool = false
,其中
NotificationCenter.default.addObserver(self, selector: #selector(myFunc), name: MyNotificationName, object: nil)
要么
NotificationCenter.default.addObserver(self, selector: #selector(myFunc(_:)), name: MyNotificationName, object: nil)
//
如果要發送值,則將其插入object
/ userInfo
NotificationCenter.default.post(name:MyNotificationName, object:<#Here#>, userInfo:<#OrHere#>)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.