Uygulamamda kaynakları algılamak ve varsa bir önbellek dizininden yüklemek için özel bir NSURLProtocol kullanıyorum veya uygulamanın sunucusuna yeniden yönlendiriyorum. Bununla birlikte, eksik olmaları için soyut yöntemlerin belgelerini buluyorum ve uygulamak zorunda olduğumuz bazı soyut yöntemlerle ne yapacağımızdan emin değilim.NSURLProtocol'un soyut yöntemleri
Biz uygulamalıdır:
+ (BOOL)canInitWithRequest:(NSURLRequest *)request
+ (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request
- (void)startLoading
- (void)stopLoading
canInitWithRequest
kolaydır, bu size bu talebe cevap verecektir NSURLProtocol söylemek nasıl.
canonicalRequestForRequest:
ile ne yapacağımı bilmiyorum. startLoading:
yılında
, ben de o zaman client
yöntemler arayarak, yerel bir dosyadan benim yanıtı oluşturarak veya synchroniously uzak bir dosyayı alma edilmiştir:
[self.client URLProtocol:self didReceiveResponse:response cacheStoragePolicy:NSURLCacheStorageAllowed];
[self.client URLProtocol:self didLoadData:responseData];
[self.client URLProtocolDidFinishLoading:self];
Ben müşteri aramak gerekirse Bana belirsizdir protokol yöntemi:
- (void)URLProtocol:(NSURLProtocol *)protocol wasRedirectedToRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
I (henüz önbelleğe alınmayınca) uzak sunucudan kaynak getirmesi karar verirler.
Son olarak, henüz kimse bu yöntemler yapmaları beklenmektedir şeyin daha biliyorsa stopLoading:
ile ne çözemedim, senin anlayışlar çok takdir edilmektedir.