Βοήθεια συνέντευξης
Προετοιμασία συνέντευξης
περίληψη
Αναζήτηση εργασίας
Πόροι
Συνδρομή
EL
Τηλεγράφημα
Σύνδεση
Άνοιγμα μενού
Βοήθεια συνέντευξης
Βοηθός 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) } } }
Επισήμανση ως ολοκληρωμένης
Προηγούμενος
Επόμενο