ܕ͕ෆఆ
w Ұճ"OZʹ٧ΊͯɺऔΓग़࣌͢ʹܕΛ͚
ͯ͋͛Δ
w ଘࡏ͠͏Δͯ͢ͷϑΟʔϧυΛ࣋ͬͨΦ
ϒδΣΫτʹϚοϐϯά͢Δ
w %JDUJPOBSZͰ࣋ͭ
Slide 20
Slide 20 text
ܕ͕ෆఆ
struct AttachmentObject: Decodable {
let value: Any
init(from decoder: Decoder) throws {
let container = try decoder.singleValueContainer()
if let value = try? container.decode(Media.self) {
self.value = value
} else if let value = try? container.decode([Media].self) {
self.value = value
} else {
preconditionFailure()
}
}
}
Slide 21
Slide 21 text
ܕ͕ෆఆ
͏ͱ͖TXJUDIͳͲͰذ
switch object.data.value {
case let value as Media:
print(value.id)
case let value as [Media]:
print(value.compactMap({ $0.id }))
default: break
}