假設我有一個使用AFIncrementalStore
的核心數據模型,並且我有多個REST API端點用於檢索該模型的對象列表。我可以在AFHTTPClient
覆蓋-requestForFetchRequest:withContext:
像這樣:如何獲取多個URL請求以獲取AFIncrementalStore中的單個類型的實體?
- (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;
}
在這個片段中,我找回Post
對象在/posts/foo
,但我還需要從/posts/bar
檢索另一組。
我該怎麼做?我看到的唯一解決方案是製作兩個模型:一個用於foo
,另一個用於bar
,但重複自己是跛腳的,並且可能有更多的API端點獲得我需要支持的Post
對象。有沒有其他的方法,我錯過了?
你如何決定你想要'/ posts/foo'還是'/ posts/bar'?例如,是不同用戶的那些Post對象?你可以檢查'fetchRequest'來確定你目前是在尋找'foo'還是'bar'文章? –
在我的情況下,我所說的API有一個屏幕,我需要請求Foo和Bar Posts列出一個表格視圖。我的博文模型確實有一個屬性,表明它是哪種類型,所以也許我可以看看'fetchRequest.predicate.predicateFormat'並確定這種方式? – greenisus
是的,這聽起來就像你的情況,你需要檢查'fetchRequest'而不是隻看'entityName'。您也可以查看'fetchRequest.propertiesToFetch'或其他可能的事情,具體取決於您的數據模型。你仍然需要發送兩個請求,所以只要確定它可以區分不同。 –