Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. extension KeyedDecodingContainer where Key: CodingKey {
  2. func decodeDate(from key: Key, using formats: String...) throws -> Date {
  3. let dateAsString = try decode(String.self, forKey: key)
  4. let dateFormatter = DateFormatter()
  5. for format in formats {
  6. dateFormatter.dateFormat = format
  7. guard let date = dateFormatter.date(from: dateAsString) else {
  8. continue
  9. }
  10. return date
  11. }
  12. let context = DecodingError.Context(codingPath: [], debugDescription: "Cannot decode date: \(dateAsString)")
  13. throw DecodingError.dataCorrupted(context)
  14. }
  15. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement