2016-07-25 77 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