5.9. Tylko jednorazowe wykonanie zadania za pomocą technologii GCD

Problem

Chcesz upewnić się, że określony fragment kodu zostanie wykonany w trakcie cyklu życiowego aplikacji tylko jednokrotnie nawet wtedy, kiedy będzie wywołany wielokrotnie w różnych miejscach aplikacji (podobnie jak ma to miejsce w przypadku inicjalizatora wzorca Singleton).

Rozwiązanie

Użyj funkcji dispatch_once().

Analiza

Alokacja i inicjalizacja wzorca Singleton to przykład zadania wykonywanego dokładnie tylko jeden raz w trakcie cyklu życiowego aplikacji. Jestem pewien, że możesz wymienić także inne sytuacje, w których chcesz mieć gwarancję wykonania danego kodu tylko i wyłącznie jednokrotnie podczas cyklu życiowego aplikacji.

Technologia Grand Central Dispatch pozwala na nadanie ...

Get iOS 5. Programowanie. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.