المهارات swiftui-expert-skill
📱

swiftui-expert-skill

آمن

Entwickeln Sie moderne SwiftUI-Apps mit bewährten Expertenpraktiken

متاح أيضًا من: avdlee

SwiftUI-Entwickler haben Schwierigkeiten mit der Komplexität der Zustandsverwaltung und veralteten API-Mustern. Dieses Skill bietet faktenbasierte Anleitungen für die moderne SwiftUI-Entwicklung mit @Observable, korrekter View-Komposition und iOS 26+ Liquid Glass-Stil.

يدعم: Claude Codex Code(CC)
📊 71 كافٍ
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "swiftui-expert-skill". Review this view: struct ProductView: View { @StateObject var vm: ProductViewModel; var body: some View { Text(vm.title) } }

النتيجة المتوقعة:

Gefundene Probleme: (1) @StateObject mit ObservableObject verwenden - @Observable-Klasse mit @State für neuen Code bevorzugen. (2) StateObject sollte privat sein. (3) Titel als let-Parameter in Betracht ziehen, wenn schreibgeschützt. Empfohlen: @Observable-Klasse verwenden, @State als privat markieren, schreibgeschützte Werte direkt übergeben.

استخدام "swiftui-expert-skill". How do I handle navigation to a detail view when tapping a list row?

النتيجة المتوقعة:

Verwenden Sie NavigationStack mit navigationDestination für typsichere Navigation. Ersetzen Sie NavigationView durch NavigationStack im Root. Verwenden Sie NavigationLink mit Wert-Parameter und navigationDestination(for:) Modifier. Dies bietet Kompilierzeit-Sicherheit und ordnungsgemäße Zustandsverwaltung im Vergleich zu älteren NavigationView-Mustern.

التدقيق الأمني

آمن
v1 • 2/25/2026

Static analyzer produced 226 false positive findings due to pattern matching on markdown documentation content. External command patterns matched file path references like 'references/state-management.md' and Swift code examples, not actual shell execution. Network finding was a GitHub source URL in YAML frontmatter. All blocker findings for cryptographic algorithms and system reconnaissance are incorrect pattern matches on documentation text. No executable code or security risks present.

1
الملفات التي تم فحصها
276
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
32
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

iOS-Entwickler erstellt neue Funktionen

Verwenden Sie dies beim Erstellen neuer SwiftUI-Views, um korrekte Zustandsverwaltung mit @Observable, moderne API-Nutzung wie foregroundStyle() und NavigationStack sowie eine optimale View-Struktur von Anfang an sicherzustellen.

Code-Review für bestehende SwiftUI-Projekte

Verwenden Sie dies beim Auditieren von veraltetem SwiftUI-Code, um veraltete APIs, falsche Property Wrapper, Leistungs-Anti-Pattern und Modernisierungsmöglichkeiten zu identifizieren.

Lernen moderner SwiftUI-Muster

Verwenden Sie dies beim Wechsel von UIKit oder älterem SwiftUI, um aktuelle Best Practices für Datenfluss, View-Komposition und Apple-Designrichtlinien zu lernen.

جرّب هذه الموجهات

Grundlegender Code-Review
Überprüfen Sie diese SwiftUI-View auf korrekte Zustandsverwaltung und moderne API-Nutzung. Prüfen Sie die Auswahl der Property Wrapper, veraltete APIs und View-Kompositionsmuster.
Legacy-Code refaktorieren
Refaktorieren Sie diesen SwiftUI-Code für die Verwendung moderner APIs. Ersetzen Sie ObservableObject durch @Observable, aktualisieren Sie veraltete Modifier und optimieren Sie die View-Struktur für Leistung.
Neue Funktion implementieren
Helfen Sie mir, eine neue SwiftUI-Funktion mit korrektem Datenfluss zu erstellen. Entwerfen Sie die Zustandsverwaltung mit @Observable, strukturieren Sie Views für optimales Diffing und wenden Sie iOS 26+ Styling an, wo angemessen.
Leistungsprobleme debuggen
Analysieren Sie diese SwiftUI-View auf Leistungsprobleme. Identifizieren Sie unnötige Zustandsaktualisierungen, View-Identitätsprobleme in ForEach, Hot-Path-Optimierungen und Layout-Thrashing-Ursachen.

أفضل الممارسات

  • Bevorzugen Sie @Observable gegenüber ObservableObject für neuen SwiftUI-Code mit @MainActor für Thread-Sicherheit
  • Halten Sie den View-Body einfach und rein - extrahieren Sie komplexe Logik in Modelle und Subviews
  • Verwenden Sie stabile Identität in ForEach mit eindeutigen Kennungen, niemals .indices für dynamische Inhalte

تجنب

  • Deklarieren übergebener Werte als @State oder @StateObject statt Verwendung von @Binding oder let-Parametern
  • Verwendung von GeometryReader, wenn containerRelativeFrame- oder visualEffect-Alternativen existieren
  • Erstellen von Objekten oder Durchführung umfangreicher Berechnungen direkt im View-Body

الأسئلة المتكررة

Should I use @Observable or ObservableObject for new SwiftUI projects?
Verwenden Sie @Observable für gesamten neuen Code. Es bietet automatische Beobachtung ohne @Published, funktioniert mit verschachtelten Objekten und integriert sich mit Swift-Nebenläufigkeit. Verwenden Sie ObservableObject nur zur Wartung von Legacy-Code.
When should I use @Binding versus passing a value directly?
Verwenden Sie @Binding, wenn die Child-View den Zustand des Parent ändern muss. Verwenden Sie let für schreibgeschützte Werte. Wenn Sie Reaktivität auf Änderungen benötigen, aber keine Änderung, verwenden Sie var mit .onChange()-Modifier.
Is Liquid Glass styling required for iOS apps?
Nein, Liquid Glass ist nur auf iOS 26+ verfügbar und sollte nur übernommen werden, wenn explizit angefordert. Dieses Skill bietet Fallback-Muster mit .ultraThinMaterial für frühere iOS-Versionen.
Why does my ForEach cause crashes with dynamic arrays?
Die Verwendung von .indices als Identität schlägt fehl, wenn die Array-Reihenfolge ändert. Verwenden Sie immer stabile, eindeutige Kennungen wie id-Eigenschaft. Für dynamische Inhalte stellen Sie sicher, dass jedes Element eine konsistente, eindeutige Identität über Aktualisierungen hinweg hat.
How do I debug unexpected view re-renders in SwiftUI?
Fügen Sie Self._printChanges() in Ihren View-Body ein, um zu protokollieren, was Aktualisierungen ausgelöst hat. Häufige Ursachen sind das Übergeben großer Konfigurationsobjekte, redundante Zustandszuweisungen und Abhängigkeiten von häufig ändernden Werten.
Can this skill enforce a specific architecture like MVVM?
Nein, dieses Skill konzentriert sich auf Fakten und Best Practices statt auf architektonische Meinungen. Es ermutigt zur Trennung von Geschäftslogik für Testbarkeit, erzwingt aber keine spezifischen Muster wie MVVM oder VIPER.

تفاصيل المطور

بنية الملفات

📄 SKILL.md