我在操场上写了以下代码。
struct Product {
var randomNumber: Int?
init?(number: Int){
if number <3 {return nil}
randomNumber=number
}
}
var mug = Product(number: 5) // {{{…}}}
在右边的输出中,我得到{{{...}}},如评论所示。这个符号是什么意思?
答案 0 :(得分:2)
{...}表示您从包含另一个可选randomNumber的Product获取可选结果。您可以使用&#34;如果让&#34;安全地打开您的选项,如下所示:
if let mug = Product(number: 5) {
if let mugRandomNumber = mug.randomNumber {
println(mugRandomNumber) // 5
}
}
答案 1 :(得分:2)
这是一种速记符号,表示不同的包装级别。 Xcode只是告诉你变量mug
中的内容。最外面的花括号是围绕可选项的包装。第二级括号包围您的struct属性,第三级包装是可选的,包裹在randomNumber
属性中。你可以通过这样做来形象化它。
var mug = Product(number: 5) // {{{...}}}
var amug = mug! // {{Some 5}}
var bmug = mug!.randomNumber // {Some 5}
var cmug = mug!.randomNumber! // 5