diff --git a/EmployeeDirectory/Services/EmployeeCacheService.swift b/EmployeeDirectory/Services/EmployeeCacheService.swift index 8f68ebb..30358d0 100644 --- a/EmployeeDirectory/Services/EmployeeCacheService.swift +++ b/EmployeeDirectory/Services/EmployeeCacheService.swift @@ -10,6 +10,8 @@ import UIKit /// A service that handles image caching using memory, disk, and network in priority order. public class EmployeeCacheService { + private lazy var fileURL = cacheDirectory.appendingPathComponent("employees.json") + // MARK: - Properties public static let shared = EmployeeCacheService() // Default shared instance @@ -30,15 +32,15 @@ public class EmployeeCacheService { public func save(from employees: Employees) throws { let data = try JSONEncoder().encode(employees) - try data.write(to: cacheDirectory.appendingPathComponent("employees.json")) + try data.write(to: fileURL) } public func load() throws -> Employees { - let data = try Data(contentsOf: cacheDirectory.appendingPathComponent("employees.json")) + let data = try Data(contentsOf: fileURL) return try JSONDecoder().decode(Employees.self, from: data) } public func clear() { - try? FileManager.default.removeItem(at: cacheDirectory.appendingPathComponent("employees.json")) + try? FileManager.default.removeItem(at: fileURL) } }