Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Produktivität · SKILL.md

swift-language

swift-language

Apply Optionals, Protocols, Extensions, and Type Safety patterns in Swift. Use when working with Swift Optionals, Protocols, Extensions, or type-safe APIs.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill-Dokumentation

GitHub

name: swift-language description: Apply Optionals, Protocols, Extensions, and Type Safety patterns in Swift. Use when working with Swift Optionals, Protocols, Extensions, or type-safe APIs. metadata: triggers: files: - '**/*.swift' keywords: - protocol - extension - optional - guard - enum

Swift Language Standards

Priority: P0 (CRITICAL)

Implementation Guidelines

Optionals & Safety

  • Never Force Unwrap: Use guard let, if let, or nil coalescing (??) to safely unwrap.
  • Nil Comparison: Use value != nil instead of if let _ = value.
  • Implicitly Unwrapped: Avoid Type!. Use proper Type?.

Protocols & Extensions

  • Protocols as Blueprints: Protocols define blueprint; classes inherit implementation.
  • Composition over Inheritance: Prefer protocol composition with structs for better decoupling and performance.
  • Extensions: Implement conformance in extension: extension MyType: MyProtocol { ... }. Use extensions for clean code organization, not storage ( not use extensions for stored properties).
  • Protocol Witnesses: Explicitly implement all required members to satisfy witness table.

Type Safety

  • Avoid Any: Use generics or associated types instead for compile-time safety.
  • Enums: Prefer enums with associated values over multiple Optionals. Extract values via switch statement (e.g., case .success(let value):).
  • Value Types: Default to struct for value semantics and thread safety. Use class only when reference identity necessary or for inheritance. Structs copied; classes shared.

Anti-Patterns

  • No ! operator: Use safe unwrapping.
  • No -1 for failure: Use Optional.
  • No force cast (as!): Use conditional cast (as?).

References

Canonical response anchors

When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:

  • Default to struct

  • Never force unwrap

  • associated values

  • value types

  • Additional task-grounded exact anchors: extension MyType: MyProtocol; conformance

Gespeicherte Skills