Swift 返回nil的镜像变量
这是预期的工作Swift 返回nil的镜像变量,swift,Swift,这是预期的工作 struct ProgrammingLanguage { let name: String? } let language = ProgrammingLanguage(name: "Swift") let mirror = Mirror(reflecting: language.name) print(mirror.children.first?.value) // Optional("Swift") 卸下选装件时,它会打印一个nil struct Programmi
struct ProgrammingLanguage {
let name: String?
}
let language = ProgrammingLanguage(name: "Swift")
let mirror = Mirror(reflecting: language.name)
print(mirror.children.first?.value)
// Optional("Swift")
卸下选装件时,它会打印一个nil
struct ProgrammingLanguage {
let name: String
}
let language = ProgrammingLanguage(name: "Swift")
let mirror = Mirror(reflecting: language.name)
print(mirror.children.first?.value)
// nil
有人能解释为什么optionals存在一个值,否则它是一个nil吗?试试这个
struct ProgrammingLanguage {
let name: String
}
let language = ProgrammingLanguage(name: "Swift")
let mirror = Mirror(reflecting: language)
for (name, value) in mirror.children {
guard let name = name else { continue }
print("\(name): \(type(of: value)) = '\(value)'")
}
试试这个
struct ProgrammingLanguage {
let name: String
}
let language = ProgrammingLanguage(name: "Swift")
let mirror = Mirror(reflecting: language)
for (name, value) in mirror.children {
guard let name = name else { continue }
print("\(name): \(type(of: value)) = '\(value)'")
}
引用一下,Mirror
是:
任何类型实例的子结构和显示样式的表示
问题是String
没有子结构,因此它没有子结构。要使用Mirror
检查其值,必须使用ProgrammingLanguage
的子项
它适用于可选的字符串
,因为可以检查可选的
本身,它的唯一子项是它的关联值。引用,镜像
是:
任何类型实例的子结构和显示样式的表示
问题是String
没有子结构,因此它没有子结构。要使用Mirror
检查其值,必须使用ProgrammingLanguage
的子项
它适用于可选的字符串
,因为可以检查可选的
本身,它的唯一子项是它的关联值。您阅读了问题吗当移除可选选项时,它会打印出一个nil
???你试过这个吗@维克多Kucera@SuganyaMarlin我很好奇字符串变量的反映,而不是对象本身。你读过这个问题吗当移除可选选项时,它会打印出一个nil
???你试过这个吗@维克多Kucera@SuganyaMarlin我很好奇String变量的反映,而不是对象本身。将let name:String
更改为var name:String代码>可选项是枚举,其子项是其关联值。非可选字符串没有子项。您必须通过ProgrammingLanguage mirror的子级获取值。@Sulthan我看到了,但是打印(mirror.children)
输出一些集合。当字符串没有子项时,情况如何?@ViktorKucera一个空集合。@Sulthan你说得对。请回答,我会接受的。谢谢将let name:String
更改为var name:String代码>可选项是枚举,其子项是其关联值。非可选字符串没有子项。您必须通过ProgrammingLanguage mirror的子级获取值。@Sulthan我看到了,但是打印(mirror.children)
输出一些集合。当字符串没有子项时,情况如何?@ViktorKucera一个空集合。@Sulthan你说得对。请回答,我会接受的。谢谢