// Запише `data` у фајл под именом `file`.
func writeData(_ data: Data, to file: String) {
let documentDirectoryURL = FileManager.default.urls(for:
.documentDirectory, in: .userDomainMask).first!
let fileURL = documentDirectoryURL.appendingPathComponent(file)
try? data.write(to: fileURL)
}
// Уклања фајл под именом `file`.
func remove(file: String) {
let documentDirectoryURL = FileManager.default.urls(for:
.documentDirectory, in: .userDomainMask).first!
let fileURL = documentDirectoryURL.appendingPathComponent(file)
try? FileManager.default.removeItem(at: fileURL)
}
// чита `Data` из фајла под именом `file`. Ако фајл не постоји, враћа `nil`.
func readData(from file: String) -> Data? {
let documentDirectoryURL = FileManager.default.urls(for:
.documentDirectory, in: .userDomainMask).first!
let fileURL = documentDirectoryURL.appendingPathComponent(file)
return try? Data(contentsOf: fileURL)
}
final class DiskCache<T>: CacheProtocol {
func setValue(_ value: T?, forKey key: String) {
}
func getValue(forKey key: String) -> T? {
}
func fetchValue(forKey key: String, completion: @escaping (T?) -> Void) {
}
}