Odniesienie do klasy TAGContainerOpener

Odniesienie do klasy TAGContainerOpener

Omówienie

Klasa pomocnicza do otwierania kontenerów.

Oto otoczenie metody openContainerById:callback: (TAGManager) dla elementów wywołujących, która zapewnia obsługę przekroczenia limitu czasu.

Poniżej znajduje się przykład oczekiwania na wczytanie kontenera po upływie maksymalnie 0,1 sekundy przed przywróceniem kontenera domyślnego:

     NSTimeInterval timeout = 0.1;
     TagManager *tagManager = [TagManager instance];
     TAGContainerFuture *future =
         [TAGContainerOpener openContainerWithId:@"GTM-XXXX"
                                      tagManager:tagManager
                                        openType:kTAGOpenTypePreferNonDefault
                                         timeout:&timeout];
     TAGContainer *container = [future get];
 

Jeśli obiekt wywołujący chce być asynchronicznie powiadamiany o dostępności kontenera, ale chce ręcznie określić czas oczekiwania na 0,5 sekundy, element wywołujący powinien podklasę TAGContainerOpenerNotifier, wywołać funkcję openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) z czasem oczekiwania ustawionym na 0.5, a następnie dodać implementację do elementu Container-Availableer.

Statyczne funkcje publiczne

(id< TAGContainerFuture >)+ openContainerWithId:tagManager:openType:timeout:
 Czeka maksymalnie timeout sekundy na wczytanie kontenera (inny niż domyślny lub nowy, w zależności od określonej wartości openType) i zwraca TAGContainerFuture.
(Nieważna)+ openContainerWithId:tagManager:openType:timeout:notifier:
 Odczeka maksymalnie timeout sekundy na wczytanie kontenera (innego lub najnowszego w zależności od określonej wartości openType) i wywołuje powiadomienie, gdy kontener jest dostępny.
(NSTimeInterval)+ defaultTimeout
 Zwraca domyślny czas oczekiwania żądania kontenera.

Dokumentacja funkcji członków

+ (id<TAGContainerFuture>) openContainerWithId: (NSString *) containerId
Menedżer tagów: (TAGManager *) tagManager
openType: (TAGOpenType) openType
czas oczekiwania: (NSTimeInterval *) przekroczenie limitu czasu

Czeka maksymalnie timeout s na wczytanie kontenera (niedomyślny lub nowy, w zależności od określonej wartości openType) i zwraca TAGContainerFuture.

Jeśli otwarty jest typ kTAGOpenTypePreferNonDefault, wczytywany jest kontener inny niż domyślny (zapisany lub pobrany z sieci), a element TAGContainerFuture zostaje odblokowany w jednej z tych sytuacji:

  • i zapisany kontener został załadowany.
  • jeśli nie ma zapisanego kontenera, oznacza to, że został załadowany kontener sieci lub wystąpi błąd sieci.
  • po upływie określonego czasu.

Jeśli wystąpi błąd sieci lub licznik czasu wygaśnie, funkcja get (TAGContainerFuture-p) może zwrócić domyślny kontener.

Jeśli otwarty jest typ kTAGOpenTypePreferFresh, wczytywany jest świeży kontener (zapisany lub pobrany z sieci), a kontener TAGContainerFuture zostanie odblokowany, gdy tylko wystąpi jedna z tych sytuacji:

  • zapisany świeży kontener.
  • jeśli nie ma zapisanego kontenera lub zapisany kontener jest nieaktualny, kontener sieciowy jest załadowany lub wystąpi błąd sieci.
  • po upływie określonego czasu.

Jeśli wystąpi błąd sieci lub licznik czasu wygaśnie, tag get (TAGContainerFuture-p) może zawierać wartości domyślne lub nieaktualny zapisany kontener.

Jeśli ponownie wywołasz jedną z metod openContainer z danym containerId, zostanie zwrócony element TAGContainerFuture, którego polecenie get (TAGContainerFuture-p) zwróci ten sam kontener co pierwsze wywołanie.

Parametry:
containerIdIdentyfikator kontenera do wczytania.
tagManagerTAGManager do pobierania kontenera.
czas oczekiwaniaMaksymalna liczba sekund oczekiwania na wczytanie kontenera z zapisanego magazynu. Jeśli wartość to nil, używana jest wartość defaultTimeout.
openTypeWybór sposobu otwierania kontenera.
Zwroty:
TAGContainerFuture, który będzie czekać do timeout i zwróci kontener, gdy będzie dostępny.
+ (void) openContainerWithId: (NSString *) containerId
Menedżer tagów: (TAGManager *) tagManager
openType: (TAGOpenType) openType
czas oczekiwania: (NSTimeInterval *) przekroczenie limitu czasu
powiadomienia: (id< TAGContainerOpenerNotifier >) powiadomienie

Odczeka maksymalnie timeout sekundy na wczytanie kontenera (innego lub najnowszego w zależności od określonej wartości openType) i wywołuje powiadomienie, gdy kontener jest dostępny.

Jeśli otwarty jest typ kTAGOpenTypePreferNonDefault, wczytywany i przekazywany do powiadomienia jest kontener inny niż domyślny (zapisany lub pobrany z sieci). Powiadomienie jest wywoływane w jednej z tych sytuacji:

  • i zapisany kontener został załadowany.
  • jeśli nie ma zapisanego kontenera, oznacza to, że został załadowany kontener sieci lub wystąpi błąd sieci.
  • nie odlicza czasu.

Jeśli wystąpi błąd sieci lub licznik czasu wygaśnie, kontener przekazywany do powiadomienia jest kontenerem domyślnym.

Jeśli otwarty jest typ kTAGOpenTypePreferFresh, wczytywany jest świeży kontener (zapisany lub pobrany z sieci) i przekazywany do powiadomienia. Powiadomienie jest wywoływane w jednej z tych sytuacji:

  • zapisany świeży kontener.
  • jeśli nie ma zapisanego kontenera lub zapisany kontener jest nieaktualny, kontener sieciowy jest załadowany lub wystąpi błąd sieci.
  • po upływie określonego czasu.

Jeśli wystąpi błąd sieci lub licznik czasu wygaśnie, kontener przekazywany do powiadomienia może zawierać wartości domyślne lub nieaktualny zapisany kontener.

Jeśli wywołasz jedną z metod openContainer po raz drugi z danym elementem containerId, ten sam kontener zwrócony z poprzedniego wywołania zostanie przekazany do powiadomienia, gdy tylko będzie dostępny.

Parametry:
containerIdIdentyfikator kontenera do wczytania.
tagManagerTag TAGManager używany do pobierania kontenera.
openTypeWybór sposobu otwierania kontenera.
czas oczekiwaniaMaksymalna liczba sekund oczekiwania na wczytanie kontenera z zapisanego magazynu. Jeśli wartość to nil, używana jest wartość defaultTimeout.
powiadomieniaOpcjonalne powiadomienie, które zostanie wywołane, gdy kontener będzie dostępny. Zostanie wywołana z nowym kontenerem (jeśli jest dostępny) i wczyta się przed upływem czasu oczekiwania. W przeciwnym razie zostanie wywołana z nieaktualnym kontenerem. Pamiętaj, że powiadomienie może być wywoływane z innego wątku.
+ (NSTimeInterval) defaultTimeout

Zwraca domyślny czas oczekiwania żądania kontenera.

Zwroty:
Domyślny limit czasu w sekundach.