Tim Yoon
Tim Yoon
  • 13
  • 16 040

Відео

SwiftUI: Firebase FireStore With MVVM and a reusable Firebase DataService class.
Переглядів 843Рік тому
Add persistence using Google's Firebase Firestore no-SQL database. I show you a reusable Firebase Dataservice that you can use. You can download that file at gist.github.com/Westmaner/d4207252ec642f83a6fd04b91e81e599
How to setup Leetcode questions in XCode to solve with Swift
Переглядів 636Рік тому
Use XCode and Swift to solve Leetcode problems. Leetcode type problems are used by large companies to screen applicants for jobs. Most of the time, Python, Javascript, or Java are used by applicants because these languages are popular. But some people are most familiar with Swift because of ios or macos development. So, this video is for Swift programmers. Github github.com/Westmaner/LeetcodePr...
SwiftUI: MVVM Data Persistence Clean Code Using Dependency Injection (CoreData) Part 2
Переглядів 526Рік тому
Use Clean Code techniques to decouple your modules In SwiftUI (iOS). View the Part 1 first. Part 1 will show you how to do this with Combine framework and Dependency Injection using protocol and the "any" key word. With this you don't have to touch the View and ViewModel code even if you completely change the back end. The current video will show you how to use CoreData as the data persistence ...
SwiftUI: MVVM Data Persistence Decoupling Using Dependency Injection (User Defaults) Part 1 of 2
Переглядів 602Рік тому
In SwiftUI (iOS) decouple your View and ViewModel code from your data persistence code. This is often a messy business unless you create the right architecture. I will show you how to do this with Combine framework and Dependency Injection using protocol and the "any" key word. With this you don't have to touch the View and ViewModel code even if you completely change the back end. This will sh...
Factory Pattern SwiftUI Example for Clean Code
Переглядів 1,5 тис.Рік тому
Factory pattern is a frequently used creation pattern in programming. It allows simpler creating of objects and decouples the use of objects from creation of objects. I will use a basketball team example with some SwiftUI elements.
Clean Code: Strategy Design Pattern with Swift SwiftUI example Player Shooting Gun. SOLID Principles
Переглядів 810Рік тому
Learn to use the Strategy Design Pattern from Gang of Four Design Patterns using SwiftUI example with a Player shooting a gun and selecting different guns during runtime. Adhere to SOLID principles - Single responsibility principle (SRP) and Open closed principle (OCP). Clean Code
SwiftUI Todo CoreData iCloud Sync. Step by step instructions.
Переглядів 1,2 тис.Рік тому
This is a continuation from my previous video in this playlist. See that video first! Previously, I created a simple Todo App and persisted data using @FetchRequest and CoreData with iCloud. I now present the step by step instructions needed to synch your data across apple devices (iOS and Mac) automatically.
SwiftUI CoreData Todo app. Using Xcode's template to create full data persistence and iCloud Sync
Переглядів 580Рік тому
CoreData can be complex. I share with you a fairly simple approach using the template code that Xcode generates for a SwiftUI app with CoreData. Use @FetchRequest to create iCloud sync. See next video (part 2) to finish iCloud Sync.
SwiftUI save data with UserDefaults and generic functions
Переглядів 274Рік тому
SwiftUI app data persistence (saving data permanently) can be difficult. Use these generic function to save and load data from UserDefaults. I will show you how to use these functions with a very simple Todo app.
Clean Code SOLID principles in Swift - Interface Segregation Principle. Learn to use protocols.
Переглядів 1 тис.Рік тому
Learn the SOLID principles of clean code as described by "Uncle Bob" in the Swift programming language using protocols. I describe how to compose multiple protocols to develop a class or struct instead of relying purely on inheritance.
Clean Code in SwiftUI DRY-Don't repeat yourself. Avoid code duplication in the Add and Edit Views
Переглядів 1,9 тис.Рік тому
In SwiftUI it's common to create and AddView and an EditView code that is highly repetitious. Avoid the mistake of this kind by using closures to increase reusability of code and decouple code. I will illustrate this technique with a simple MVVM example.
Clean Code in SwiftUI with Open Closed Principle MVVM and Dependency Injection
Переглядів 5 тис.Рік тому
I use simple example to develop a reusable SwiftUI iOS time view. I explore various methods to follow the Open Closed Principle by using Struct and Protocol, Class injection, MVVM architecture.

КОМЕНТАРІ

  • @ClassyName
    @ClassyName 3 місяці тому

    Cool lesson, very clear!

  • @karlalalalalala
    @karlalalalalala 4 місяці тому

    This video is so informative and definitely deserves to have thousands of views!

  • @nikoluzzi
    @nikoluzzi 5 місяців тому

    Thank you!

    • @Westmaner
      @Westmaner 5 місяців тому

      You're welcome!

  • @fanzei
    @fanzei 5 місяців тому

    This video has helped me. But one thing i would point out is that you forget to say that these two lines are also need to be changed: let container: NSPersistentCloudKitContainer // this line 1 init(inMemory: Bool = false) { container = NSPersistentCloudKitContainer(name: "YourContainerName") // and this line

    • @Westmaner
      @Westmaner 5 місяців тому

      Thanks for that.

  • @IruAndOpa
    @IruAndOpa 6 місяців тому

    This is so cool keep up your good work

  • @marceloreis5528
    @marceloreis5528 6 місяців тому

    Thank you very much!

    • @Westmaner
      @Westmaner 6 місяців тому

      You're welcome!

  • @mehmetuzel7396
    @mehmetuzel7396 7 місяців тому

    Hi Tim, Thank you for the content it is very helpful. Is there further development needed when the iCloud storage full or iCloud sync is closed. When I test these scenarios all the local data was gone

    • @Westmaner
      @Westmaner 7 місяців тому

      Sorry have not tried those scenarios.

  • @Spacer-l3j
    @Spacer-l3j 7 місяців тому

    I'm a junior developer with 5 months of experience in SwiftUI. I wish you would keep doing what you are doing. For some reason, this is one of the channels where I can understand all those concepts. Not only do I understand them, but it also makes me love this programming language even more. For me, everything in your videos just clicks. Please add more content, as this type of content is lacking on UA-cam especially in the iOS community. I'm sick of content creators doing copy-paste content, mixing logic with views, and focusing on lame animations rather than solid concepts for scalable apps. I have tried to find more information about you, but I couldn't find any website or LinkedIn account to learn more. I prefer people who master these concepts rather than those who spend all day editing videos to show us copy-pasted content from their other monitor, just to appear knowledgeable. In fact, they don't know anything about these concepts, and even worse, there is a chance you might learn bad practices from them.

    • @Spacer-l3j
      @Spacer-l3j 7 місяців тому

      It's a hard time for me since I have to guard myself against bad practices. As a junior developer, it's not easy to differentiate bad practices from good ones. I do my best to follow good content creators.

    • @Westmaner
      @Westmaner 7 місяців тому

      Thanks for your encouragement. I make these videos pure to share my knowledge and help others on their coding journey. I will make more videos.

  • @adamskaat8292
    @adamskaat8292 9 місяців тому

    Very very very helpfull video, Thank you for the great video!!!

  • @Spacer-l3j
    @Spacer-l3j 9 місяців тому

    nice channel

  • @markhoward8334
    @markhoward8334 11 місяців тому

    Thank you for your excellent library and explanation. I have been looking everywhere for this!

    • @Westmaner
      @Westmaner 11 місяців тому

      Glad it was helpful!

  • @kaushlendrapal
    @kaushlendrapal 11 місяців тому

    Very concise and Neatly explained

    • @Westmaner
      @Westmaner 11 місяців тому

      Glad it was helpful!

  • @michaelfryburg5215
    @michaelfryburg5215 11 місяців тому

    Can you do a video on navigation stack vs. navigation view? Love the vids by the way.

  • @urielortega99
    @urielortega99 Рік тому

    Awesome video Tim, really appreciate your content 🙏🏻

  • @flash698
    @flash698 Рік тому

    do the properties in core data entity need to be initialized?

  • @ajayodedra930
    @ajayodedra930 Рік тому

    Nice one 👌 Very detailed.

  • @redhotbits
    @redhotbits Рік тому

    all the worst principles applied to swiftui

    • @Westmaner
      @Westmaner Рік тому

      Haha

    • @redhotbits
      @redhotbits Рік тому

      no dude really, you are breaking fundamentals of swiftui, you need to get fundamentals of swiftui BEFORE you go crazy with uncle bob's dogmas

    • @jasonc1378
      @jasonc1378 11 місяців тому

      @@redhotbits no dude really, can you explain where this video breaks the fundamentals of SwiftUI? I don't see any tutorials in your channel that TEACH the fundamentals of swiftUI, your website redhotbits is breaking the fundamentals of web design, worst website ever LOL

    • @redhotbits
      @redhotbits 11 місяців тому

      dude apple teaches you everything, so there is no need to listen some other dude in his garage @@jasonc1378

    • @Spacer-l3j
      @Spacer-l3j 9 місяців тому

      @@redhotbitsunfortunately following uncles bob dogmas is required to get a job nowadays furthermore following SOLID principles have been proved to be the best way for the long run apps such as fb google insta youtube

  • @channelmdnz
    @channelmdnz Рік тому

    Very useful, thanks!!😁

  • @dslkgjsdlkfjd
    @dslkgjsdlkfjd Рік тому

    Do you have any resource recommendations for advanced swift concepts?

    • @Westmaner
      @Westmaner Рік тому

      Donny Wals has good books.

  • @MyungeinHan
    @MyungeinHan Рік тому

    Hi Tim, I am really getting a lot of help from your video :) Next time, can you maybe cover how to write a testable code in SwiftUI? Thanks!

  • @dslkgjsdlkfjd
    @dslkgjsdlkfjd Рік тому

    Just found this video. Probably the best swift firebase video I have ever seen. You can tell how sophisticated and advanced the code is. Great video!

    • @Westmaner
      @Westmaner Рік тому

      So glad you like it. Very nice to hear. Curious to know how you found the video. Also curious to know where you are in your coding journey and how you learned swift.

    • @dslkgjsdlkfjd
      @dslkgjsdlkfjd Рік тому

      I found your first video on DataService trying to find a more advanced and practical data persistence method. Then I went to your page and scrolled until I found this one. I am not an expert in swift and coding but I am trying to get there. I have only been seriously coding for 6 months. I am trying to release my first app and other applications soon. I learned from lots of youtube and udemy courses. @@Westmaner

  • @Kai-wu5hd
    @Kai-wu5hd Рік тому

    very helpful knowledge. Tks so much !

    • @Westmaner
      @Westmaner Рік тому

      Glad it helped. Very motivating to hear nice comments. How did you find the video? Google search or UA-cam search or something else?

  • @dslkgjsdlkfjd
    @dslkgjsdlkfjd Рік тому

    Your videos are just amazing very very underrated channel. I would love to a firebase date persistence video. Much appreciation for you hard work in these videos!

    • @Westmaner
      @Westmaner Рік тому

      Thanks for your nice comments.

  • @dslkgjsdlkfjd
    @dslkgjsdlkfjd Рік тому

    Your videos are amazing and add a lot of high level value thank you.

    • @Westmaner
      @Westmaner Рік тому

      Thanks. Your comments are super motivating. Let me know what other topic interests you. What is your goal? This will help me make more content.

    • @dslkgjsdlkfjd
      @dslkgjsdlkfjd Рік тому

      I would love to see a firebase DataService video. Any other advanced Swift UI topics and examples would be amazing. My goal is trying to learn more advanced and used swift UI data practices. Thank you for you hard work and amazing content. @@Westmaner

  • @MyungeinHan
    @MyungeinHan Рік тому

    I've been coding for a long time without knowing the basics. This channel really helps me learn about the basics of SwiftUI. Thank you so much Tim 🫶

  • @benling5444
    @benling5444 Рік тому

    Wonderful series. Clean code is listed in many job descriptions. This series give a detailed look at clean code. I have gone through the whole series. The laist video of refactoring is so inspiring. Thanks

  • @benling5444
    @benling5444 Рік тому

    Good sieries and good topic. Data persistence is key to any app. So many solutions to handle data persistence. To add a bit of suggestion to your video, you can mention @Appstorage in your video. If using this property wrapper, your code will look differently.

  • @danielishida5001
    @danielishida5001 Рік тому

    such an underrated channel, exactly what I was looking for. Thanks

    • @Westmaner
      @Westmaner Рік тому

      Let me know topic ideas.

  • @rparham1997
    @rparham1997 Рік тому

    Why is it in a XCTest class ?

    • @Westmaner
      @Westmaner Рік тому

      That’s the way of using the XCode testing framework.

    • @rparham1997
      @rparham1997 Рік тому

      @@Westmaner I know that, but why are you using Unit Tests for a leetcode problem ?

    • @stevenedds
      @stevenedds Рік тому

      Cuz unit tests are a simple way to run arbitrary code

  • @EricTMCode
    @EricTMCode Рік тому

    Definitively the kind of video that helps you to understand all these principles. Thank you very much 🙏

  • @Mahadev-x7u
    @Mahadev-x7u Рік тому

    Thank you Tim…

  • @iosprogramming1122
    @iosprogramming1122 Рік тому

    Hey Tim, good bro. This is the best way to enhance skills.

  • @EricTMCode
    @EricTMCode Рік тому

    Thank you for this lesson, very clear! 🙏

  • @EricTMCode
    @EricTMCode Рік тому

    Very good lesson 🙏 I've got one question, I've made UserEditView as an own view so the preview ask me parameters for the save variable, what can i put inside? Edit: found the solution : save: { _ in } in the preview. Thanks for your time.

  • @Westmaner
    @Westmaner Рік тому

    Find the code on Github. github.com/Westmaner/LeetcodeProblems.git

  • @muha990
    @muha990 Рік тому

    Thanks Tim, could you please share the source code if possible?

    • @Westmaner
      @Westmaner Рік тому

      github.com/Westmaner/LeetcodeProblems.git

  • @unstanbul
    @unstanbul Рік тому

    Crystal Clear 👍🏻

  • @Mahadev-x7u
    @Mahadev-x7u Рік тому

    Thank you Tim….

  • @Mahadev-x7u
    @Mahadev-x7u Рік тому

    Good lesson Tim… thank you

    • @Westmaner
      @Westmaner Рік тому

      Very welcome. Glad you liked it.

  • @Westmaner
    @Westmaner Рік тому

    Use this link to download the source code from github. github.com/Westmaner/DataService

  • @Mahadev-x7u
    @Mahadev-x7u Рік тому

    Good lessons Tim… thank you 💫

  • @singularlycaroline
    @singularlycaroline Рік тому

    Thank you for your clear and concise explanation!

  • @Mahadev-x7u
    @Mahadev-x7u Рік тому

    Thank you…

  • @Mahadev-x7u
    @Mahadev-x7u Рік тому

    Thank you so much Tim… 💫 can you create generic and protocol lessons please?

  • @Mahadev-x7u
    @Mahadev-x7u Рік тому

    Thank you Tim… good lesson