繁体   English   中英

如何在 swift 中为 nil object 添加价值

[英]How can ı add value to nil object in swift

我对您看到的这段代码有疑问。 为什么它给我零价值,我怎么能弄清楚它是正确的,请帮助我

struct NilControl{
    var name:String?
}

var k: NilControl?

print(k)
// nil -> Okey ı guess just like that
k?.name = "name"

print(k?.name)
// nil -> ı expect to see name but its still give me nil

有关正在发生的事情的解释,请参见内联注释:

struct NilControl{
    var name:String?
}

var k: NilControl? //you've defined k as NilControl? and not assigned it a value yet

print(k) //this will be nil, since k has not been set

k = NilControl() //this sets k to have a value (ie not nil), but its `name` is still nil at this point
k?.name = "name"

print(k?.name) //will print Optional("name")

如果您想在打印name之前对其进行一些nil检查,它可能看起来像这样:

k = NilControl(name: "name") //this sets k to have a value & assigns a name

if let k = k, let name = k.name {
    print(name)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM