AFIncrementalStore
kullanarak Çekirdek Veri modelim var ve bu modelin nesnelerinin bir listesini almak için birden çok REST API uç noktası var. Ben şöyle AFHTTPClient
içinde -requestForFetchRequest:withContext:
geçersiz kılabilirsiniz:AFIncrementalStore'da tek bir varlık türünü almak için birden fazla URL isteğim nasıl olabilir?
- (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;
}
, ben /posts/foo
de Post
nesneleri almak, ama ben de /posts/bar
den başka bir set almak gerekir.
Bunu nasıl yapabilirim? Gördüğüm tek çözüm iki model yapmaktır: biri foo
için ve bir tane bar
için, ancak kendiniz tekrarlamak topal, ve bana destek olması gereken Post
nesnesi almak için daha fazla API uç noktası olabilir. Kaybettiğim başka bir yaklaşım var mı?
'/ posts/foo' veya'/posts/bar' isteyip istemediğinize nasıl karar veriyorsunuz? Örneğin, farklı kullanıcılar tarafından bu nesneleri gönder? Şu anda "foo" veya "bar" gönderilerini aradığınızı belirlemek için "fetchRequest" yi kontrol edebilir misiniz? –
Benim durumumda, konuştuğum API'nın, tek bir tablo görünümünde hem Foo hem de Bar Gönderinin listelenmesini istediğim bir ekran var. Yayın modelim, hangi tür olduğunu belirten bir özelliğe sahip, bu yüzden belki de 'fetchRequest.predicate.predicateFormat''a bakıp bu yolu belirleyebilir miyim? – greenisus
Evet, sizin durumunuza benziyor, 'fetchRequest'i sadece 'entityName' öğesine bakmaktan daha yakından incelemeniz gerekiyor. Ayrıca, veri modelinize bağlı olarak 'fetchRequest.propertiesToFetch' veya başka şeylere de bakabilirsiniz. İki istek göndermeniz gerekecek, bu yüzden farkı anlayabildiğinden emin olun. –