Я работаю с Mirror
в swift, я обнаружил, что Mirror.Child
очень странно, метка обнуляется, но значение кажется не обнуляемым.
public typealias Child = (label: String?, value: Any)
Я не знаю, как проверить, является ли значение ноль или нет.
let b: Bool? = true
let a: Any = b
print(a == nil) // false
У меня есть одно решение:
print(String(describing: a) == "nil") // true
но это, очевидно, не очень хорошее решение.
Каков наилучший способ проверить, является ли a
нулем или нет?
Позвольте мне поставить более подробно,
let mirror = Mirror(reflecting: object) // object can be any object.
for child in mirror.children {
guard let label = child.label else {
continue
}
// how to check if the value is nil or not here ?
setValue(child.value, forKey: label)
}