Nasza aplikacja ma wiele widoków sieciowych i ostatnio dodałem NSURLProtocol do przechwytywania niektórych żądań od nich.NSURLProtocol canInitWithRequest: wywoływana wiele razy
Zauważyłem, że niektóre widoki sieci wywołują wielokrotnie metodę + [NSURLPRotocol canInitWithRequest:] z tym, co wydaje się być dokładnie tym samym żądaniem. Czasami 6 lub 7 razy. Próbuję zrozumieć, dlaczego to może się zdarzyć.
Czy ktoś ma z tym jakieś doświadczenie? Wylogowałem wartości [NSURL absoluteString] i httpMethod i są one takie same dla każdego żądania. Spodziewam się, że ta metoda zostanie wywołana tylko raz dla dowolnego pliku lub zasobu potrzebnego z serwera, a nie wiele razy. Wygląda na to, że różni się w zależności od strony internetowej.
jakieś pomysły?
z jakiegoś powodu startLoading jest wywoływany tylko po problemie opisanym przez drekka. nawet jeśli zwrócę TAK startLoading wywołany po wywołaniu wszystkich żądań canInitWithRequest. Czy masz pojęcie, dlaczego? dziękuję! – ElizaS
Jedyna wskazówka, jaką mogę podać to: Upewnij się, że nie rozpoczynasz połączenia, które już się rozpoczęło - szczególnie jeśli używasz NSURLConnection, gdzie niektóre metody alokacji automatycznie nawiązują połączenie. – dgatwood