Comment rendre l'initialiseur memberwise public par défaut pour les structures en Swift ?
Bonjour à tous ! J'ai commencé à apprendre Swift et j'ai rencontré un problème lorsque je travaille avec des structures (struct). Par défaut, Swift génère pour les structures un initialiseur memberwise (initialiseur par élément) qui permet de créer une instance en passant des valeurs pour toutes les propriétés. Mais si je déclare une structure avec un niveau d'accès `public`, l'initialiseur memberwise devient interne (internal) au lieu d'être public. À cause de cela, je ne peux pas utiliser la structure depuis un autre module.
Voici un exemple :
```swift
// ModuleA.swift
public struct User {
public let name: String
public let age: Int
// initialiseur memberwise non déclaré explicitement
}
// ModuleB.swift (autre module)
let user = User(name: "Alice", age: 30) // Erreur : 'User' cannot be initialized with memberwise initializer
```
Je
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Documentation Swift : comment écrire de manière claire et efficace
Clean Code en C# : principes et exemples pour les développeurs .NET
Docker et Swift : conteneurisation avancée d'applications
Injection de dépendances (Dependency Injection) en PHP pour débutants