Локальное хранилище данных StackMob
Недавно я решил перейти на StackMob (из Parse). Мне удалось настроить основные данные, и я могу читать и писать в хранилище данных StackMob.
Пока что StackMob предлагает пользователю список товаров. Если пользователь решит использовать элемент в моем приложении, я хочу, чтобы этот элемент был доступен в автономном режиме, чтобы он мог использовать его без подключения к стекамобу.
Я имею в виду создание локальных базовых данных и копирование элементов, выбранных пользователем. Моя первая проблема, если бы я мог использовать один и тот же объект для базовых данных (стека и локальный). И если это правильный подход, чтобы следовать.
1 ответ
Последний SDK включает в себя поддержку для кэширования основных данных. Подробности в этом блоге.
Система кеширования по умолчанию отключена. Чтобы включить его, просто установите флаг SM_CACHE_ENABLED на YES в файле делегата приложения, прежде чем инициализировать хранилище основных данных. Флаг объявлен в SMCoreDataStore.h.
Он также включает в себя этот пример кода для управления кешем...
SMClient *client = [[SMClient alloc] initWithAPIVersion:@"0" publicKey:@"XXXX"];
SMCoreDataStore *coreDataStore = [client coreDataStoreWithManagedObjectModel:myModel];
[client.session.networkMonitor setNetworkStatusChangeBlockWithCachePolicyReturn:^SMCachePolicy(SMNetworkStatus status) {
if (status == Reachable) {
return SMCachePolicyTryNetworkElseCache;
} else {
return SMCachePolicyTryCacheOnly;
}
}];