swift – 可选布尔值的隐式展开

swift – 可选布尔值的隐式展开,第1张

概述Bool类型的隐含展开似乎不起作用: var aBoolean: Bool! // nilaBoolean = false // falseaBoolean // falseaBoolean == true // falseaBoolean == false // trueif aBoolean { "Hum Bool类型的隐含展开似乎不起作用:
var aBoolean: Bool!    // nilaBoolean = false       // falseaBoolean               // falseaBoolean == true       // falseaBoolean == false      // trueif aBoolean {    "Hum..."            // "Hum..."} else {    "normal"}if aBoolean! {    "Hum..."} else {    "normal"          // "normal"}

如果我已经声明了一个类似于var aBoolean的Boolean:Bool?,那么这将是预期的行为,但在这里,我没有得到它.

这是正确的行为吗?我没有找到任何文档.

谢谢!

第一个测试是检查aBoolean是否存储一个值而不是nil,它的作用是:
if aBoolean {    "Hum..."            // "Hum..."else {    "normal"}

第二个测试是检查存储在aBoolean中的实际布尔值,它是false:

if aBoolean! {    "Hum..."} else {    "normal"          // "normal"}

这是在Swift书中的“隐含包装的可选项”部分中说明的.我认为隐式解包只是不适用于if语句.我同意这是奇怪的,但这里是苹果的例子:

你仍然可以像一个常规的可选项一样处理一个隐式解开的可选项,以检查它是否包含一个值:

let assumedString: String! = "An implicitly unwrapped optional string."if assumedString {    println(assumedString)}// prints "An implicitly unwrapped optional string."

摘录自:苹果公司“Swift编程语言”iBooks. @L_403_0@

总结

以上是内存溢出为你收集整理的swift – 可选布尔值的隐式展开全部内容,希望文章能够帮你解决swift – 可选布尔值的隐式展开所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1027271.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存