From dc4fecd07641969e54de9117c28701be2c3e6bfd Mon Sep 17 00:00:00 2001 From: Emre KARTAL Date: Sat, 28 Oct 2023 17:31:11 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'Sprint=202'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sprint-2.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Sprint-2.md b/Sprint-2.md index 740da69..63054b3 100644 --- a/Sprint-2.md +++ b/Sprint-2.md @@ -23,6 +23,28 @@ Ensuite, consulter les informations des paris puis vérifier qu'ils sont bien da - **Développement de la page de création d'un bet (4h)**: J'ai continué à travailler sur la page de création de pari en améliorant les détails visuels. De plus, j'ai développé mon propre composant pour créer un menu déroulant que j'ai personnalisé et intégré à la page. J'ai réussi à adapter la page en fonction de l'élément sélectionné. + +- **Injection de dépendance (4h)**: J'ai créé ma propre classe d'injection de dépendance en Swift, car Swift ne propose pas cette fonctionnalité par défaut. J'ai réussi à le faire en utilisant un propertyWrapper que j'ai nommé **@Inject**, qui permet de fournir une instance unique de certaines classes à travers toute l'application sans passer par le constructeur. J'ai également effectué des tests fonctionnels pour m'assurer que tout fonctionne correctement. + +Exemples d'utilisation : + +**Dans le main :** + +```swift +DependencyInjection.shared + .addSingleton(IA.self, A()) + .addSingleton(IB.self, B()) + .addSingleton(C.self, C()) +``` + +**Dans une classe ou une vue :** + +```swift +@Inject private var b: IB +``` + +L'instance de la classe B sera alors donnée ! + --- ## Lucas D