2016-10-02 66 views
-1

不久前我轉移到swift3。即使在轉換爲swift3之後,下面的通知中心代碼仍然正常工作(沒有崩潰,並且按照它應該做的那樣)。swift 3中的通知中心崩潰

我在代碼的其他部分嘗試使用強制觸摸,突然應用程序開始崩潰(SIGBRT ...發送了'無法識別的選擇器')。

NotificationCenter.default.addObserver(self, selector: Selector(("applicationWillEnterBackGround:")), name: Notification.Name.UIApplicationDidEnterBackground, object: nil) 

清理構建,再次運行它。不確定可能是什麼原因造成的?還是蠻新的斯威夫特,任何幫助是極大的讚賞:)

感謝, KARTHIK

回答

1

的問題是在Selector(("applicationWillEnterBackGround:"))資本-G。

但是爲什麼你甚至會寫這樣的代碼?使用#selector語法;它的全部目的是防止這種愚蠢。

此外,你永遠不會做任何事情致電applicationWillEndBackground。這只是運行時調用。您無權配置這樣的通知。

+0

謝謝馬特。我切換到#選擇器語法,它工作正常。我真的明白它現在是如何工作的!感謝提示。我沒有對應用程序進入後臺進行任何操作 - 例如/ debug。當應用程序進入前臺時,我正在做一些事情。 –

+0

@karthiksarpatwari請參閱[這裏](http://stackoverflow.com/a/36211714/5175709) – Honey