Можешь объяснить назначение `NSCache` в Swift и чем она отличается от обычного `Dictionary` с точки зрения управления памятью и потокобезопасности? — ДейлиПреп