如何为 swift 中的 nil 对象添加值
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)
}
我对您看到的这段代码有疑问。为什么它给我零价值,我怎么能弄清楚它是对的请帮我
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)
}