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éments) 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
Monorepo avec Rust : organisation du code pour les grands projets