通过遵循本教程,我正在学习iOS 8 / OSX 10.10的Swift ,并且多次使用术语“ 未包装的值 ”,如本段中(在Objects和Class下):
使用可选值时,您可以编写?在方法,属性和下标之类的操作之前。如果前值?是零,之后的所有内容?将被忽略,整个表达式的值为nil。否则,将取消包装可选值,以及?之后的所有内容。作用于未包装的值。在这两种情况下,整个表达式的值都是一个可选值。
let optionalSquare: Square? = Square(sideLength: 2.5, name: "optional square")
let sideLength = optionalSquare?.sideLength
我不明白,在网上没有运气。
这是什么意思?
编辑
根据Cezary的回答,原始代码的输出与最终解决方案(在操场上测试)的输出之间存在细微差别:
原始码
塞扎里的解决方案
在第二种情况下,超类的属性显示在输出中,而在第一种情况下,则显示一个空对象。
两种情况下的结果难道不应该相同吗?
绝地无双
婷婷同学_