Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. //
  2. // Helper.swift
  3. // A small collection of quick helpers to avoid repeating the same old code.
  4. //
  5. // Created by Paul Hudson on 23/06/2019.
  6. // Copyright © 2019 Hacking with Swift. All rights reserved.
  7. //
  8.  
  9. import UIKit
  10.  
  11. extension Bundle {
  12. func decode<T: Decodable>(_ type: T.Type, from file: String) -> T {
  13. guard let url = self.url(forResource: file, withExtension: nil) else {
  14. fatalError("Failed to locate \(file) in bundle.")
  15. }
  16.  
  17. guard let data = try? Data(contentsOf: url) else {
  18. fatalError("Failed to load \(file) from bundle.")
  19. }
  20.  
  21. let decoder = JSONDecoder()
  22.  
  23. guard let loaded = try? decoder.decode(T.self, from: data) else {
  24. fatalError("Failed to decode \(file) from bundle.")
  25. }
  26.  
  27. return loaded
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement