Swift与Core Data在我获取的字符串上获得“Optional(”“)”吗?

时间:2015-11-08 14:39:44

标签: ios swift core-data

在我在Core Data中获取的字符串上获取额外的“Optional(”“)”是否正常?

这是代码

bowtie.name = "My bow tie"
bowtie.lastWorn = NSDate()

这就是我在xcode输出日志中获得的内容。

姓名:可选(“我的领结”),磨损:可选(2015-11-08 14:23:11 +0000)

有没有办法摆脱Optional(“”)的东西?

1 个答案:

答案 0 :(得分:2)

每次强行打开Optional(使用!)小猫死亡

有几种安全方式可以展开Optional,例如使用if letflatMap(即使它不是真正的flatMap)。

在某些情况下,您可以使用“可选链接”,这样您就不必在实际操作之前处理Optional。空合并运算符(??)也非常有用。

This SO回答非常有帮助,你一定要看一下。

如果您想完全理解Optional的概念,请查看the docs

在这种特定情况下,我建议使用类似let fetchedName = bowtie.name ?? ""的内容(或任何其他对您的问题有意义的后备字符串)。 当您强制解包时,由于某些奇怪的原因,该值为nil,应用将崩溃。没有人喜欢崩溃,对吗?