Помощ при интервю
Подготовка за интервю
Резюме
Търсене на работа
Ресурси
Абонамент
BG
Телеграма
Вход
Отвори менюто
Помощ при интервю
AI асистент
Разширение за браузър
Ресурси
Изтегляне
Често задавани въпроси / Помощ
Подготовка за интервю
Въпросна банка
Интервю банка
Имитационни интервюта
Ментори
Ресурси
Често задавани въпроси / Помощ
Търсене на работа
Автоматизация на търсенето на работа
Пазарен анализ
Обяви от Telegram
Ресурси
Кариери
Блог
Често задавани въпроси / Документация
Telegram блог
Поддръжка на Telegram
Правна
Възстановяване на сумата
Термини
Поверителност
Притежатели на права
Обратно към въпросите
Въпросна банка
iOS - Разработчик
Въпрос
Middle+
import UIKit protocol CacheProtocol { associatedtype Value func setValue(_ value: Value?, forKey key: String) func getValue(forKey key: String) -> Value? func fetchValue(forKey key: String, completion: @escaping (Value?) -> Void) } final class Cache<T>: CacheProtocol { private var storage: [String: T] = [:] private let queue = DispatchQueue(label: "my.queue", attributes: .concurrent) func setValue(_ value: T?, forKey key: String) { queue.sync(flags: .barrier) { storage[key] = value } } func getValue(forKey key: String) -> T? { queue.sync { return storage[key] } } func fetchValue(forKey key: String, completion: @escaping (T?) -> Void) { queue.async { let value = self.storage[key] completion(value) } } }
Маркирайте като завършено
Предишни
Следващият