<分区>
我在一个 ViewController 中有一个结构,它有几个非可选成员,例如:
struct MyStruct {
let id: Int64!
let name: String!
func checkValues() -> Bool {
if id == nil || name == nil {
return false
} else {
print("id: \(id) name: \(name)"); return true
}
}
}
我在另一个 VC (let temp = ViewController.MyStruct(id: 10, name: "Example")
) 中创建了该结构的一个实例,并通过 Segue 将其传递到我创建该结构的那个实例。执行时 temp.checkValues()
我明白了
id: Optional(10) name: Optional("Example")
根据我对(非)可选值的理解,我不应该得到 Optional()
因为我用 !
声明了变量.我弄错了吗?现在我只是在每次使用它时都打上感叹号。我也尝试使用 init
在结构中,但这并没有改变任何东西。
由于这不是预期的(如果我是对的)我担心我没有得到完整的概念......请告诉我我的代码/我有什么问题。