2013-06-14 6 views
6

私はデータベースに残って古いエントリの削除の動作を設定したい(私の他のpostを参照してください)コアデータでの私のサーバーやストアからデータを取得するためにRestKit:コンテンツをサーバと同期させるためにコアデータエントリを削除する方法は?

をRestKit RKObjectManagerを使用しています。

RKEntityMappingクラスにdeletionPredicateプロパティがありますが、サービスが実際に削除対象のオブジェクトを 'to-be-deleted'としてフラグを立てた場合にのみ使用されることがわかりました。

私の場合、いくつかのオブジェクトを削除する必要がある場合は、サーバーから返されないだけで、クライアントアプリケーションが削除する必要があることを理解させたいと思います。

これは可能ですか?そしてもしそうなら、どうですか?

EDIT:

OK私はthat link見を持って、私はこれが私のRKObjectManagerに要求ブロックをフェッチ追加:

[[RKObjectManager sharedManager] addFetchRequestBlock:^NSFetchRequest *(NSURL *URL) { 

    RKPathMatcher *pathMatcher = [RKPathMatcher pathMatcherWithPattern:@"/path_to_ressource"]; 

    NSDictionary *argsDict = nil; 
    BOOL match = [pathMatcher matchesPath:[URL relativePath] tokenizeQueryStrings:NO parsedArguments:&argsDict]; 

    if (match) { 

     NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Entity"]; 
     fetchRequest.sortDescriptors = @[ [NSSortDescriptor sortDescriptorWithKey:@"entityId" ascending:YES] ]; 
     return fetchRequest; 
    } 

    return nil; 
}]; 

私はsortDescriptorを保ったが、ここで正確に、その目的は何ですか?

答えて

5

セクション「フェッチ要求ブロックと孤立したオブジェクトの削除」を参照してください。on this page。それは、RKObjectManager(あなたが言っているもの)を使用する必要があり、RestKitにデータストア内で削除すべきコンテンツを見つける方法を伝える方法を説明しています。そして、それは受信したばかりのものをチェックして削除しませんサーバー)。

+0

私は質問を修正しました。これは簡単なことですか?この場合ソート記述子を使用するのはどうでしょうか? – Alexis

+0

パターンの先頭に/を追加しないでください( "/ path_to_ressource")ので、要求に一致しないことがよくあります。私は、ソート記述子が必要であるとは思っていません(私は決して使用しません)、それがどのような利益をもたらすかは分かりません。 – Wain

関連する問題