
Combine - iOS의 Reactive Programming(2025)
밤낮 코딩 - 애구마
🍏 Apple이 직접 개발한 Reactive Programming 프레임워크! 🚀 Combine을 완벽하게 익히고, iOS 개발 실력을 한 단계 업그레이드하세요!
중급이상
combine, Reactive Programming, RxSwift
Learn by following the Instagram app Practical SwiftUI lecture
MVVM
SwiftUI
Firebase
I started studying development at 31 while doing other work, and I'm currently working hard on iOS development at a subsidiary of one of the major Korean tech companies (Naver, Kakao, Line).
Started studying development at a bootcamp in early 2020 (age 31)
Got a job as an entry-level iOS developer at a subsidiary of one of the major Korean tech companies (NAVER, Kakao, LINE, Coupang) at the end of 2021 (age 33)
Currently working at the same company as of 2025
As someone who started development at the late age of 30s without a technical background, I deeply empathize with the overwhelming feelings and difficulties that those preparing for employment face more than anyone else. I also understand well the efforts of those who are investing their precious time preparing for career transitions in pursuit of continuous growth.
Having spent two years with no income, running solely toward the dream of becoming a developer, I want to provide high-quality lectures at reasonable prices to those walking a similar path.
Although not all of the curriculum has been completed yet, when all the lectures I have planned are released, if you consistently follow my lectures, you will be able to acquire all the knowledge needed as a 1-2 year iOS developer, and I will create them with that sense of responsibility.
Many of you have been waiting since the last lecture for MVVM and Firebase-based
I finally released the Instagram Clone course.
How the MVVM pattern was born, why we use it, and what aspects we need to be careful about when using it, etc.
Learn detailed usage of the MVVM pattern and proceed with coding using this approach.
(↓↓↓Keynote screen capture used in class↓↓↓)
We will create and use a Firebase server together.
(Firebase refers to a very easy server provided by Google.)
You can store post information, photos, user information, etc. that you upload on Instagram in this Firebase and retrieve it from various other devices.
Yes, that's correct. However, this is only possible when AI operates 100% perfectly as people want it to.
However, it is currently impossible for AI to operate perfectly as humans desire.
When actually building apps, even if AI writes code for you, you will inevitably encounter situations that cannot be solved by AI alone.
If you used to face these situations 10 or 100 times before, now it's just reduced to about 1-2 times.
And right at that moment or two, you'll eventually face a situation where you need to directly check and modify the code. What you need then is development knowledge.
Even if AI does most of the coding, there will definitely be situations that AI cannot solve
At that moment, the only people who could solve the problem were those with development knowledge
Limited-time special discount event ✨
Meet 3 popular courses bundled at an unprecedented benefit price!
💡 Why You Should Choose This Package
✅ Complete coverage from SwiftUI basics to real app development
✅ Much more reasonable package benefits than individual purchases
✅ Practical know-how you can immediately apply to iOS development work
📚 Structure (3 Lectures)
🧩 Part0: Learning Swift6 for Absolute Beginners Through Problem Solving (Free)
🌱 Part1: Real Beginner iOS (SwiftUI·SwiftData, 2024) — ₩77,000
📸 Part2: Instagram Clone (SwiftUI·MVVM·Firebase, 2024) — ₩99,000
📌 Regular Price: 176,000 KRW
🔥 Event Discount: -35,200 KRW (-20%)
💰 Limited Special Price: 140,800 KRW (80%)
👉 🎁 Get Discount Coupon - Bundle Discount 1) Master SwiftUI! Build Real iOS Apps
Complete advanced skills all at once with 5 popular courses bundled together! (Includes 3 courses from Set 1)
💡 Why you should choose this package
✅ Set 1 (Beginner→Practical) includes all components + advanced concept expansion
✅ Complete organization of state/data flow with Property Wrapper
✅ Master asynchronous·reactive patterns with Combine → maximize practical scalability
📚 Structure (5 Lectures)
🧩 Part0: Learning Swift6 for Complete Beginners Through Problem Solving (Free)
🌱 Part1: Real Beginner iOS (SwiftUI·SwiftData, 2024) — ₩77,000
📸 Part2: Instagram Clone (SwiftUI·MVVM·Firebase, 2024) — ₩99,000
🔗 SwiftUI Property Wrappers(@State, @Binding, …) — ₩11,000
⚡️ Combine – iOS Reactive Programming(2025) — ₩77,000
📌 Regular Price: ₩264,000
🔥 Event Benefit: -₩79,200 (-30%)
💰 Limited Special Price: ₩184,800
👉 🎁 Get Discount Coupon - Set Discount 2) All the way to Advanced SwiftUI! Practical + Combine Master
⚡️ Attention!
- Please make sure to claim your coupon after accessing the link and then purchase the course
- The discount may end without notice.
(All the features captured below are implemented in the course.)
Enter Email, Password, name, and username to register the member information to the Firebase server.
You can log in with the member information using the registered email and password.
You can edit the member information of the currently logged-in account.
You can upload posts, which is Instagram's main feature.
When you upload a post, you can view the post in the Feed view (Tab 1) and Profile view (Tab 5).
Also, the count of user posts in the 5th tab increases.
You can search for other registered users in the search tab.
You can follow other accounts.
When you follow, the target account's follower count and the current account's following count each increase by 1.
The like feature is also implemented.
You can show your appreciation by clicking the heart button on the post.
You can also check the accumulated number of likes for that post.
You can create a comment page to view all comments left on that post.
Additionally, new comments from current users can also be registered.
All the features shown in the gif above were implemented through communication with Google Firebase servers.
All data changes on iPhone devices are sent to Google Firebase, and the modified information is reloaded on the iPhone device. (↓↓↓ Communication with Firebase ↓↓↓)
The view of information written on the phone being reflected on the server
The ability to view posts and comments uploaded from Phone A on Phone B
Following basic Swift syntax, we'll learn about various Swift grammar structures that allow you to understand and use more complex constructs.
Optional: if-let, guard-let, optional binding, nil-coalescing
Error Handling: try, try?, try!, do-catch
Async-Await: Task, async, await, async-let (concurrent execution)
extension
enum
static function, static variable
switch-case
...
We will study various SwiftUI framework features, which are the core topics of the course.
I have structured the course by packing in as many features as possible that you students might need when creating new apps.
NavigationStack, NavigationLink: Screen Navigation
LazyVStack(LazyHStack): Single-column list view
LazyVGrid(LazyHStack), GridItem: n-column list view
[[STRONG_1]]TextField[[/STRONG_1]], [[STRONG_2]]SecureField[[/STRONG_2]](비밀번호 입력시)
.refreshable: pull to refresh
.[[STRONG_1]]task[[/STRONG_1]], .[[STRONG_2]]onAppear[[/STRONG_2]], [[STRONG_3]]onChange[[/STRONG_3]]: 화면 변화 감지
.sheet: modal window
.searchable(search box)
[[STRONG_1]]List[[/STRONG_1]] vs [[STRONG_2]]LazyVStack[[/STRONG_2]] vs [[STRONG_3]]ForEach[[/STRONG_3]]의 차이 비교
scaledToFit, scaledToFit, aspectRatio: Comparison of Image Filling Methods
@State, @Binding, @Bindable, @Environment: data flow property wrappers
PhotosPicker: Selecting photos from images saved on your phone
...
Add code that others have already written to your project to implement various features in the project.
Also, to accurately understand asynchronous processing and caching
Kingfisher vs AsyncImage vs Synchronous Image Loading
We will perform each of these 3 methods and compare them.
KingFisher: An external library for asynchronously downloading and caching images
Firebase, FireStore, FirebaseAuth: Add an external server to the project to store various data externally (post information, account information, image information).
Not just providing the final completed code
We provide segmented lecture code for each individual lesson.
You can easily find the changed parts of the code
(↓↓↓Actual Example Code Capture↓↓↓)
I recommend listening to the lectures below and then taking the current lecture.
If you have basic knowledge of Swift and SwiftUI, you can take this course right away, but there may be some challenging parts.
(If you plan to take only this course, please check the syllabus of the course below to verify that you are familiar with the Swift and SwiftUI concepts explained in the lectures.)
Learn iOS for Real Beginners (SwiftUI, SwiftData, 2024)
I also had my beginner days, and there were difficult times whenever I was learning challenging concepts.
I tried my best to ensure no concepts were omitted from the lecture by recalling the memories from that time.
Even though it was difficult, I tried my best to explain all the code that appears in the lectures.
I minimized copy-pasting code and explain while typing the code together to make it easier for students to understand.
I was so grateful that you understood this part so well in the last lecture too.
In this lecture as well, I have made efforts to serve as a guide for your SwiftUI learning.
(↓↓Reviews of the previous series, Beginner iOS Course↓↓)
📚 There is an important principle in my lectures.
👉 Every concept that appears in class will definitely be explained.
When I was preparing to become a developer, there were many cases where important concepts were skipped in lectures with the phrase "I'll explain this part later". But when I actually got to the later parts, they often weren't properly covered, and without knowing those concepts, I remember feeling really frustrated because it was hard to understand the following content. 😥
So in my lectures, I put in a tremendous amount of effort to ensure you don't experience that kind of frustration.
When new concepts appear during the lecture, I will explain them immediately on the spot whenever possible.
If there are parts that are difficult to understand right now due to lack of prerequisite knowledge, I'll help you get a feel for it first by providing analogies or simple examples.
And after sufficiently learning the necessary background knowledge in later lectures, we will return to that concept and explain it again.
In the end, as you follow along with the lessons, you won't feel the frustration of "Huh? They said they'd explain this later but just skipped over it?" Instead, you'll be able to understand concepts step by step and thoroughly. ✨
As a learner myself, I rarely purchase courses that aren't lifetime access.
That's why I've prepared my courses so that you can revisit them anytime without any enrollment period restrictions.
👨💻 Those who have tried development will know this.
It's impossible to perfectly master all concepts with just one course.
Some concepts become yours right away, but other concepts are only fully understood when you actually apply them directly in your own projects.
⏳ But it's practically impossible to apply all concepts right away.
That's why this course is provided as a lifetime collection, so you can come back and learn whenever you need it.
👉 Even parts that are difficult to understand now can be revisited later when you encounter them in projects, turning them into your own knowledge.
In other words, with one purchase, you get a reliable lifetime learning resource that's uniquely yours. 🚀
✅ Refund Information
I have prepared the lectures to ensure student satisfaction, but if the lectures don't meet your expectations, you can apply for a refund without worry. 🙂
⚠️ However, refunds may be difficult in the following cases:
If you have downloaded the example code
After course registration, if more than 7 days have passed
When the course progress exceeds 7%
👉 Therefore, for the initial lectures, we recommend that you take the course first without downloading the example code.
A. No, you can learn for a lifetime with a single purchase.
There are no restrictions on the course duration. All of my lectures have unlimited access so you can review them anytime.
A. No, all the features used in my lectures are completely free.
A. It may be difficult for those who are learning development for the first time. However, if you first study the Part1: Real Beginner iOS Learning (SwiftUI, SwiftData, 2024) course, this course is structured so that you can fully understand it.
Who is this course right for?
Learn SwiftUI code from practice
For those who want to learn MVVM
Anyone who wants to create their own server communication with Firebase
Need to know before starting?
Advance lecture: Learning iOS for real beginners (SwiftUI)
997
Learners
100
Reviews
88
Answers
5.0
Rating
5
Courses
안녕하세요 😀
누구나 쉽게 iOS 개발을 할 수 있도록 돕고 싶은
iOS 개발자 애구마입니다.
강의에 필요한 예제 만드는것을 좋아하고, 입문자에게 필요한 강의를 만들기 위해 연구합니다.
agmma5000@gmail.com
All
79 lectures ∙ (10hr 20min)
Course Materials:
All
19 reviews
5.0
19 reviews
Reviews 2
∙
Average Rating 5.0
5
파트 1부터 천천히 공부하는걸 추천 드립니다. 완강이 되도 버전이 틀려서 에러가 나면 직접 하나하나 강의 수정하시면서 듣는데 문제 없게 해주신 점이 좋았습니다. 하면서도 중요한 부분이나 필요한 부분 하나라도 더 알려주시려고 한 점이 너무 좋았으며 질문같은것도 올리면 빠르게 답변해주시는 부분도 좋았습니다 하나하나 공부하며 천천히 공부하실 분들에게 너무 추천드립니다
친절한 수강평 감사드립니다! cys님께서 꼭 취업까지 성공하시길 바라겠습니다. 저도 취업에 필요한 더 좋은 강의 많이 만들어가도록 할게요 화이팅입니다!
Reviews 2
∙
Average Rating 5.0
Reviews 2
∙
Average Rating 5.0
Reviews 6
∙
Average Rating 5.0
Reviews 1
∙
Average Rating 5.0
$77.00
Check out other courses by the instructor!
Explore other courses in the same field!