// `data`ni `file` nomli faylga yozadi.
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` nomli faylni o‘chiradi.
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)
}
// `file` nomli fayldan `Data` o‘qiydi. Fayl mavjud bo‘lmasa, `nil` qaytaradi.
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) {
}
}