3

最近、(Parse から) StackMob に移行することにしました。コア データのセットアップに成功し、StackMob データストアを読み書きできます。

これまでのところ、StackMob はユーザーにアイテムのリストを提供しています。ユーザーが私のアプリでアイテムを使用することにした場合、アイテムをオフラインで利用できるようにして、stackmob に接続しなくても使用できるようにします。

ローカルの Core Data を作成し、ユーザーが選択した項目をコピーすることを考えています。私の最初の問題は、Core Data (stackmob と local) の両方に同じオブジェクトを使用できるかどうかです。そして、これが従うべき正しいアプローチである場合。

4

1 に答える 1

2

最新の SDK には、コア データのキャッシュのサポートが含まれています。詳細はこのブログ投稿にあります。

デフォルトでは、キャッシュ システムはオフになっています。これをオンにするには、コア データ ストアを初期化する前に、App Delegate ファイルで 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;
        }
}];
于 2013-01-29T21:24:55.157 に答える