Aide à l'entretien
Préparation à l'entretien
CV
Recherche d'emploi
Ressources
Abonnement
FR
Telegram
Connexion
Ouvrir le menu
Aide à l'entretien
Assistant IA
Extension du navigateur
Ressources
Télécharger
FAQ / Aide
Préparation à l'entretien
Banque de questions
Banque d'entretiens
Entretiens simulés
Mentors
Ressources
FAQ / Aide
Recherche d'emploi
Automatisation de la recherche d'emploi
Analyse du marché
Offres d'emploi sur Telegram
Ressources
Carrières
Blogue
FAQ / Documentation
TelegramBlog
Telegram Assistance
Juridique
Remboursement
Conditions
Confidentialité
Ayants droit
Retour aux questions
Banque de questions
iOS - Développeur
Question
Middle+
protocole CacheProtocol { type associé 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] = [:] func setValue(_ value: T?, forKey key: String) { storage[key] = value } func getValue(forKey key: String) -> T? { return storage[key] } func fetchValue(forKey key: String, completion: @escaping (T?) -> Void) { let value = storage[key] completion(value) } } import XCTest final class CacheTests: XCTestCase { override func setUp() { super.setUp() } func testSetAndGetValue() { let cache = Cache<String>() let key: String = "key" let value: String = "value" cache.setValue(value, forKey: key) XCTAssertEqual(cache.getValue(forKey: key), value) cache.setValue(nil, forKey: key) XCTAssertTrue(cache.getValue(forKey: key) == nil) } } CacheTests.defaultTestSuite.run()
Marquer comme terminé
Précédent
Suivant