From 0a675760ed7ac0294879a5641e327c922a46d70e Mon Sep 17 00:00:00 2001 From: Florian Schweizer Date: Fri, 5 Jul 2024 09:13:25 +0200 Subject: [PATCH] Add Combine & NavigationStack content to the iOS roadmap (#6052) Add content to Navigated stacks and combine --- .../ios/content/combine@UzpdLLPs226N00c6weWRv.md | 10 +++++++++- .../navigation-stacks@TLm70PlTI0K3Odn1iYxWX.md | 12 +++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/data/roadmaps/ios/content/combine@UzpdLLPs226N00c6weWRv.md b/src/data/roadmaps/ios/content/combine@UzpdLLPs226N00c6weWRv.md index b7756b776..3f98c063d 100644 --- a/src/data/roadmaps/ios/content/combine@UzpdLLPs226N00c6weWRv.md +++ b/src/data/roadmaps/ios/content/combine@UzpdLLPs226N00c6weWRv.md @@ -1 +1,9 @@ -# Combine \ No newline at end of file +# Combine +Combine is Apple's built-in framework for reactive programming, using the same publisher-subscriber pattern as most modern approaches to this issue. +Combine introduces the concept of a `Cancellable` (i.e. a subscription) and many different operators to use on these Cancellables. +When writing Combine code, developers will notice complex generic types. For this reason, type-erasure can be done through `AnyCancellable`. + +Visit the following resources to learn more: + +- [@official@Combine](https://developer.apple.com/documentation/combine) +- [@video@Understanding Combine](https://youtu.be/rz0yx0Qz2jE) diff --git a/src/data/roadmaps/ios/content/navigation-stacks@TLm70PlTI0K3Odn1iYxWX.md b/src/data/roadmaps/ios/content/navigation-stacks@TLm70PlTI0K3Odn1iYxWX.md index 7d8091140..ca0cc525a 100644 --- a/src/data/roadmaps/ios/content/navigation-stacks@TLm70PlTI0K3Odn1iYxWX.md +++ b/src/data/roadmaps/ios/content/navigation-stacks@TLm70PlTI0K3Odn1iYxWX.md @@ -1 +1,11 @@ -# Navigation Stacks \ No newline at end of file +# Navigation Stacks + +iOS 16 introduced a new concept of navigating through SiwftUI apps: NavigationStack. +NavigationStack is data-driven, meaning that you specify navigationDestinations for each data type (models) that your app supports. +These destinations are defined once for each NavigationStack and are valid throughout the app. +Navigation itself is handled through the NavigationLink View, which allows setting a label and a value (your model). + +Visit the following resources to learn more: + +- [@official@NavigationStack](https://developer.apple.com/documentation/swiftui/navigationstack) +- [@video@NavigationStack](https://www.youtube.com/watch?v=DMsALlhObNk)