Toolverse
Wszystkie skille

axiom-ios-concurrency

autor: CharlesWiltgen

Rozwiąż problemy współbieżności w Swift — async/await, aktorzy, data races i optymalizacja wydajności.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Mobile

O skillu

Umiejętność dedykowana do pracy z kodem asynchronicznym w iOS. Używaj jej zawsze, gdy piszesz kod z async/await, aktorami, wątkami lub napotykasz błędy współbieżności. Obejmuje Swift 6 concurrency, @MainActor, Sendable, data races, wzorce async/await i optymalizację wydajności. Pomaga diagnozować zamrażające się aplikacje spowodowane blokowaniem głównego wątku — najczęstszą przyczyną problemów z interfejsem użytkownika.

Jak używać

  1. Aktywuj tę umiejętność, gdy pracujesz z kodem asynchronicznym, widzisz błędy współbieżności lub aplikacja się zamraża podczas ładowania danych. Priorytet: zawsze spróbuj tej umiejętności najpierw dla problemów z wydajnością interfejsu — blokowanie głównego wątku jest najczęstszą przyczyną zamrażania się aplikacji.

  2. Opisz problem konkretnie: czy piszesz nowy kod z async/await, czy debugujesz istniejący błąd? Podaj komunikat błędu, jeśli go masz (np. "data race detected", "actor isolation violation", "Sendable conformance error").

  3. Jeśli aplikacja się zamraża lub działa wolno, najpierw sprawdź, czy synchroniczny kod wykonuje się na @MainActor. Umiejętność pomoże zidentyfikować, czy problem to blokowanie głównego wątku, zanim przejdziesz do profilowania wydajności.

  4. Dla błędów Swift 6 concurrency — użyj tej umiejętności, a nie ios-build. Błędy współbieżności to problemy kodu, nie konfiguracji środowiska.

  5. Jeśli pracujesz z Core Data lub SwiftData: dla Core Data użyj ios-data (ma własny model wątkowania), ale dla SwiftData z @MainActor ModelContext użyj tej umiejętności — to część Swift concurrency.

  6. Postępuj zgodnie z rekomendacjami umiejętności dotyczącymi wzorców async/await, izolacji aktorów i optymalizacji — są to rozwiązania szybsze niż profilowanie dla typowych problemów z zamrażaniem interfejsu.

Podobne skille