AFIncrementalStore
を使用してコアデータモデルがあり、そのモデルのオブジェクトのリストを取得するために複数のREST APIエンドポイントがあるとします。私はそうのようAFHTTPClient
で-requestForFetchRequest:withContext:
を上書きすることができます。AFIncrementalStoreで単一のタイプのエンティティをフェッチするために複数のURLリクエストを使用するにはどうすればよいですか?
- (NSURLRequest *)requestForFetchRequest:(NSFetchRequest *)fetchRequest
withContext:(NSManagedObjectContext *)context {
NSMutableURLRequest *mutableURLRequest = nil;
if ([fetchRequest.entityName isEqualToString:@"Post"]) {
mutableURLRequest = [self requestWithMethod:@"GET" path:@"/posts/foo" parameters:nil];
}
return mutableURLRequest;
}
このスニペットでは、私は/posts/foo
でPost
オブジェクトを取得、私はまた/posts/bar
から別のセットを取得する必要があります。
どうすればいいですか?私が見る唯一の解決策は、foo
用とbar
用の2つのモデルを作成することですが、自分自身の反復は不自由なものであり、サポートする必要があるオブジェクトはPost
個あります。私が逃している他のアプローチがありますか?
'/ posts/foo'や'/posts/bar'をどうしたらいいですか?たとえば、異なるユーザーによる投稿オブジェクトがありますか? 'fetch'や' bar'投稿を探しているかどうかを調べる 'fetchRequest'を調べることはできますか? –
私の場合、私が話しているAPIには、FooとBar Postsの両方を単一のテーブルビューに表示するように要求する画面があります。私のポストモデルはどのタイプかを示すプロパティを持っているので、おそらく 'fetchRequest.predicate.predicateFormat'を見てその方法を判断できますか? – greenisus
あなたの場合のように聞こえますが、 'entityName'を見るよりも' fetchRequest'をもっと詳しく調べる必要があります。 'fetchRequest.propertiesToFetch'やデータモデルに応じて他のものを見ることもできます。依然として2つのリクエストを送信する必要があるため、違いを確認できるようにしてください。 –