Grand Central Dispatch (GCD) zapewnia prosty i niezawodny mechanizm współbieżnych i asynchronicznych operacji, głównie w systemach operacyjnych Apple (np. IOS, macOS, watchOS i tvOS), ale także we FreeBSD i MidnightBSD.
Mam metodę, która akceptuje blok i blok uzupełniania. Pierwszy blok powinien działać w tle, a blok uzupełniania w dowolnej kolejce, w której wywołano metodę. W przypadku tego ostatniego zawsze używałem dispatch_get_current_queue(), ale wygląda na to, że jest przestarzały w iOS 6 lub nowszym. Czego powinienem użyć zamiast tego?
Jak mogę sprawić, by mój kod czekał do zakończenia zadania w DispatchQueue? Czy potrzebuje jakiegoś CompletionHandler czy czegoś takiego? func myFunction() { var a: Int? DispatchQueue.main.async { var b: Int = 3 a = b } // wait until the task finishes, then print print(a) // - this will contain …
Czytam dokumentację firmy Apple dotyczącą „Zarządzania pamięcią dla kolejek wysyłkowych”: Nawet jeśli zaimplementujesz aplikację zbierającą elementy bezużyteczne, nadal musisz zachować i zwolnić kolejki wysyłkowe i inne obiekty wysyłania. Grand Central Dispatch nie obsługuje modelu czyszczenia pamięci do odzyskiwania pamięci. Wiem, że ARC nie jest odśmiecaczem, ale chciałbym mieć pewność, że …
Jaka jest nowa składnia dispatch_oncew Swift po zmianach wprowadzonych w wersji językowej 3? Stara wersja wyglądała następująco. var token: dispatch_once_t = 0 func test() { dispatch_once(&token) { } } Oto zmiany wprowadzone w libdispatch .
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.