Ты проводишь code review у senior iOS инженера в health tech компании. Junior разработчик отправил PR с функцией кеширования данных о жизненных показателях пациента. Во время review ты замечаешь следующий код, используемый в нескольких view controllers и background tasks:
class VitalsCache {
var data: [String: VitalReading] = [:]
func update(key: String, value: VitalReading) {
data[key] = value
}
func read(key: String) -> VitalReading? {
return data[key]
}
}
Кеш используется одновременно из background network callbacks и main thread. Тебе нужно объяснить проблему и GCD-based решение во время обсуждения review.