RxSwift and Reactive Programming
dumveloper
This is a lecture covering the basics and applications of RxSwift.
Basic
iOS, Swift, RxSwift
Complex SwiftUI state management, Create clean and robust apps with TCA (The Composable Architecture). Learn the essentials quickly with practical project examples.
65 learners
Level Basic
Course period Unlimited
Reviews from Early Learners
5.0
ํธ๋ฅด๋ ๋
This was very helpful for project implementation :) Do you also take questions by any chance..??
5.0
JMK
Thank you for the great lecture~ I'll be looking forward to additional lectures~๐๐๐๐๐
5.0
sclee
I enjoyed watching it. It's a good taste of TCA. I hope the video quality could be a bit better starting from the next lecture you upload.
Understand TCA's core elements (State, Action, Reducer, Store) and learn how to systematically manage the complex data flow and state of SwiftUI apps.
Gain experience completing a practical project by integrating SwiftUI's latest Stack-based navigation and Apple's next-generation data framework, SwiftData, into the TCA architecture.
Learn how to safely handle asynchronous operations like an image picker in a Reducer, and modern dependency injection techniques utilizing swift-dependencies.
Who is this course right for?
A developer, limited by SwiftUI state management (@State, @Binding, ObservableObject), seeks a more systematic architecture.
A developer wishing to experience TCA's theory and practice through project-based learning immediately applicable to real-world work.
A developer seeking to write scalable, maintainable, and testable code as apps grow.
Need to know before starting?
Swift Basics
481
Learners
34
Reviews
28
Answers
4.6
Rating
5
Courses
I'm Dumbelloper, an iOS developer with 6 years of experience.
Lectures that can be put to use immediately in the field
I will create courses that are essential for beginner to intermediate levels.
I'm Dumbelloper, an iOS developer with 6 years of experience. I will create courses that can be applied immediately in the field and are essential for beginner to intermediate levels.
I'm Dumbelloper, an iOS developer with 6 years of experience. I will create courses that can be applied immediately in the field and are essential for beginner to intermediate levels.
All
36 lectures โ (5hr 3min)
Course Materials:
All
10 reviews
5.0
10 reviews
Reviews 4
โ
Average Rating 5.0
5
This was very helpful for project implementation :) Do you also take questions by any chance..??
Yes, of course! Please ask your questions! It's an honor to be able to help with your project!
Thank you! Even though it was my first time encountering TCA, the course was so well-made that although it took some time, I was able to understand it smoothly(?) and even apply it to actual projects. As covered in the course, single-depth screen navigation like My Page โ [Email / Profile / Nickname] editing screens is well understood, and I'm implementing it well! However, in actual apps, like Instagram, there are often deeply nested screen navigation structures like: Post โ User A Profile โ User A's Follow List โ User B Profile โ User B's Follow List... and I'm having difficulties with this part. I'd like to get advice on whether I missed something from the course, or if these multi-layered(?), nested(?) navigation patterns are inherently somewhat tricky in TCA! Just in case, let me explain the method I currently implemented: I thought I could create a navigation structure for My Page and reuse it, but when I try to do that, it crashes, so now... If I assume the cases where you can navigate from My Page are [Follow/Following List, Posts] screens: For example, If Tab 1 is post-related, you eventually need to go to My Page, right? If Tab 2 is reels/shorts-related tab, you also eventually need to go to My Page from here too. But right now, I'm copying and pasting the exact same My Page screen transition cases in each tab screen ๐ข
I'm so sorry for the late reply; I missed the notification. I'm not sure what caused the crash, but you can build a navigation structure and reuse it. For example, you can create a child reducer responsible for navigation, define all the scopes to enter that reducer like this: Scope(state: \.profile, action: \.profile) { ProfileFeature() } And then manage it using StackState for each parent tab. state.path.append(.profile(ProfileFeature.State(userId: "me"))) It might be hard to read because the line breaks aren't working well here. ใ ใ @Reducer struct Path { @ObservableState enum State: Equatable { case profile(ProfileFeature.State) } enum Action { case profile(ProfileFeature.Action) } var body: some ReducerOf<Self> { Scope(state: \.profile, action: \.profile) { ProfileFeature() } } } @Reducer struct HomeTabFeature { @ObservableState struct State: Equatable { var path = StackState<Path.State>() } enum Action { case path(StackAction<Path.State, Path.Action>) case didTapMyProfile } var body: some ReducerOf<Self> { Reduce { state, action in switch action { case .didTapMyProfile: state.path.append(.profile(ProfileFeature.State(userId: "me"))) return .none ...
Reviews 3
โ
Average Rating 5.0
Reviews 1
โ
Average Rating 5.0
Reviews 1
โ
Average Rating 5.0
Reviews 25
โ
Average Rating 4.2
Check out other courses by the instructor!
Explore other courses in the same field!
$53.90