Каждый запрос с сервера может контролироваться CachePolicy
A Политика кэширования , которая указывает, должны ли результаты быть получены с сервера или загружены из локального кэша.
public enum CachePolicy {
/// Return data from the cache if available, else fetch results from the server.
case returnCacheDataElseFetch
/// Always fetch results from the server.
case fetchIgnoringCacheData
/// Return data from the cache if available, else return nil.
case returnCacheDataDontFetch
}
Значением по умолчанию является returnCacheDataElseFetch , что означает, что Apollo возвращает данные из кэша, если они доступны, в противном случае извлекает результаты с сервера.
Я решил проблему, изменив cachePolicy с помощью fetchIgnoringCacheData
apollo.fetch(query: meetingsQuery ,cachePolicy: .fetchIgnoringCacheData) { [weak self] result, error in
guard let meetings = result?.data?.allMeetings else { return }
print(conferences.count)
}