protocol IPC {
func restart()
}
class MacBook: IPC {
var name: String = "123"
var date: Date?
func restart() {}
}
let macBook = MacBook()
let mirror = Mirror(reflecting: macBook)
//show fields
for child in mirror.children {
let fieldName = child.label
let value: Any = child.value
print("\(fieldName!): \(value)")
}