2016-07-25 38 views
0

我是Xcode的新手,想知道如何解決我遇到的警報問題。我的代碼是: localNotification.alertBody = "your person, \(lblUsername.text), is behind schedule for your meeting at \(lblScheduleDate.text)將存儲的標籤值添加到警報中

我得到的警告是: 「你的人,可選(」傑西卡「),是落後於預定計劃爲您在選購會議(」 7月25日| 1:30" )

我不知道如何擺脫

  1. 的選配
  2. 周圍的名稱和日期/時間
  3. 括號周圍的名稱和日期/時間的語錄。
+0

試着用下面的方法強制解包變量:lblUsername.text!和lblScheduleDate.text! – Jonas

+0

由於某種原因,它沒有在我的問題中正確轉換,我現在把它作爲:localNotification.alertBody =「你的幫手,\(lblUsername.text),落後於你在\(lblScheduleDate.text)調用的日程安排。支持。」所以應該是這樣的:localNotification.alertBody =「你的幫手,lblUsername.text!,落後於你在lblScheduleDate.text!上打電話的時間表,請等待。」 –

+0

在兩個圓括號之前加上一個感嘆號,'text' – Jonas

回答

2

你可以同時擺脫所有三個。所有你需要做的是打開可選項。無論何時打印/顯示文本,在變量旁邊添加!。例如:

var username:String? = "Jessica" 
print(username!) 

另一種方式來完成,這是使用if-let聲明:

if let user = username 
{ 
    print(user) 
} 

雖然這是更長的時間,不方便,這種方式更安全,將防止

fatal error: unexpectedly found nil while unwrapping an Optional value

發生。

P.S. - 下次把你的源代碼放在你的文章中,這樣可以更好地回答問題。你將來很可能會被低估。

+0

感謝p.s.我也是新來張貼在這裏。你如何像這樣添加它? –

+0

在編輯器中,您會看到兩個大括號。按下它們,然後用代碼替換「代碼」。 – Jack

+0

不要這樣做。當值爲零時,使用'!'強制解包會導致崩潰。改爲使用「可選綁定」,例如使用「if let」。在[Swift指南](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309)中有解釋,並且有這也是一個有趣的閱讀[這個規範問答](http://stackoverflow.com/questions/32170456/what-does-fatal-error-unexpectedly-found-nil-while-unwrapping-an-optional-valu)。 – Moritz

2

試着用下面的方法強制展開變量:lblUsername.text!和lblScheduleDate.text!

+0

不要這樣做。當值爲零時,使用'!'強制解包會導致崩潰。改爲使用「可選綁定」,例如使用「if let」。在[Swift指南](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309)中有解釋,並且有這也是一個有趣的閱讀[這個規範問答](http://stackoverflow.com/questions/32170456/what-does-fatal-error-unexpectedly-found-nil-while-unwrapping-an-optional-valu)。 – Moritz