Code Cat
Code Cat
  • Видео 152
  • Просмотров 1 711 057
SwiftUI Tutorial: Implementing Combine in MyTask application
Dive into SwiftUI with our step-by-step tutorial on building a simple and sleek TODO list app, perfect for beginners and seasoned Swift developers alike! In this tutorial, we'll implement combine in our MyTask app using best practices.
👨‍💻 Whether you're new to SwiftUI or looking to enhance your Swift skills, this video is tailored to cater to your learning needs. Follow along as we cover fundamental SwiftUI components, data binding, navigation, and more, providing a solid foundation for your iOS app development journey.
📝 Timestamps:
0:00 introduction
1:01 publishers in combine
1:39 repository combine implementation
5:57 view model combine implementation
9:56 fixing view errors
10:54 deleting re...
Просмотров: 2 632

Видео

Introduction to Combine Framework in Swift: Learn Reactive Programming
Просмотров 3,9 тыс.8 месяцев назад
In this video, we dive into the world of Combine, Apple's powerful framework for reactive programming in Swift. Whether you're a beginner or looking to level up your iOS and macOS app development skills, this tutorial is the perfect starting point. Topics covered in the video Join us in demystifying reactive programming and harnessing the full potential of Combine. Don't forget to like, share, ...
SwiftUI MyTask App: Error handling | SwiftUI Hindi tutorial
Просмотров 9629 месяцев назад
In this comprehensive SwiftUI tutorial, you'll learn how to effectively handle errors using the powerful Result type. Error handling is a critical aspect of building robust and user-friendly applications, and SwiftUI offers an elegant way to manage errors in your code. Whether you're a beginner or an experienced developer, understanding error handling can elevate your app development skills to ...
Xcode Setting: Strict Concurrency Checking Complete
Просмотров 2 тыс.9 месяцев назад
In this video we will learn about Strict Concurrency checking type complete and see how it helps us by giving warning about race conditions. ✅ Subscribe to the channel and stay ahead of everyone by following the right way for writing clean code in swift. 🔥🔥🔥🔥🔥 🔗Click on the link to subscribe: ruclips.net/user/codecat Connect with me on social media Instagram: codecat15 📧: codecat15@gmail.com 🐦:...
SwiftUI MyTask App: Implementing core data in SwiftUI (no combine) | SwiftUI Hindi Tutorial (Day 7)
Просмотров 1 тыс.10 месяцев назад
In this SwiftUI MyTask app tutorial, we will dive into the implementation of Core Data without using Combine framework. Core Data is a powerful and versatile framework provided by Apple for data persistence in iOS apps. We will learn how to set up Core Data, create entities and relationships, perform basic CRUD operations, and fetch data from the database. Join us in this SwiftUI Hindi tutorial...
SwiftUI MyTask App: Identifying areas of improvements | SwiftUI Hindi tutorial (Day 6)
Просмотров 96110 месяцев назад
Welcome to Day 6 of our SwiftUI MyTask App Tutorial series! In this tutorial, we will focus on identifying areas of improvement in our SwiftUI MyTask app. By carefully analyzing the code and exploring potential enhancements, we will strive to enhance the functionality and user experience of our app. Join us on this SwiftUI Hindi tutorial journey as we dive deeper into the intricacies of SwiftUI...
SwiftUI MyTask App Tutorial: Adding UI Validations | SwiftUI Hindi tutorials (Day 5)
Просмотров 1,2 тыс.11 месяцев назад
Welcome to our SwiftUI MyTask App Tutorial series! In this episode, we'll dive into the topic of adding UI validations to our app. Validations are crucial for ensuring data integrity and providing a smooth user experience. Throughout this tutorial, we'll explore various techniques and best practices for implementing validations in SwiftUI. Join us in this SwiftUI Hindi tutorial as we cover esse...
SwiftUI MyTask App: CRUD Functionality using temp storage | SwiftUI Hindi Tutorial (Day 4)
Просмотров 1,3 тыс.Год назад
In this comprehensive SwiftUI Hindi tutorial, we will cover the complete implementation of Add, Update, and Delete functionality in the MyTask App. Learn how to code these essential features using SwiftUI, Apple's modern UI framework for iOS app development. Follow along as we guide you through the step-by-step process, providing detailed explanations and best practices. Whether you are a begin...
SwiftUI MyTask App: Building Add and Detail Views | SwiftUI Hindi tutorial (Day 3)
Просмотров 2 тыс.Год назад
In this SwiftUI Hindi tutorial, we will dive into building a My Task app from scratch. Our focus will be on creating the Add and Detail views, essential components of a task manager application. By leveraging SwiftUI's declarative syntax and powerful features, we will explore how to design intuitive user interfaces for adding new tasks and displaying detailed task information. Whether you're a ...
SwiftUI MyTask App: Display data on the list view & data filtering with Picker View (Day 2)
Просмотров 2,5 тыс.Год назад
Welcome to Day 2 of our SwiftUI tutorial series! In this video, we will continue building our MyTask app and dive into the exciting world of data manipulation and filtering using SwiftUI. Join us as we explore how to add data to the task list and implement a picker view for efficient filtering. This hands-on tutorial is perfect for beginners looking to enhance their iOS app development skills a...
SwiftUI MyTask App: Building Task Model and ViewModel | SwiftUI Hindi tutorial (Day 1)
Просмотров 3,3 тыс.Год назад
In this session, we will delve into the development of a SwiftUI task app. This series is for SwiftUI beginners our focus will be on designing the task model and implementing the taskViewModel. Join us as we explore the fundamentals of SwiftUI and learn how to efficiently manage tasks in an intuitive and user-friendly manner ✅ Subscribe to the channel and stay ahead of everyone by following the...
SwiftUI Introduction to foundation series | Hindi Tutorial
Просмотров 9 тыс.Год назад
Welcome to the "SwiftUI Introduction to Foundation Series"! In this comprehensive series, we dive into the fundamental concepts of SwiftUI and explore the principles of clean coding while developing iOS apps. Whether you're a beginner or an experienced developer looking to enhance your SwiftUI skills, this series is designed to provide you with a solid foundation. Join us as we cover essential ...
Security Guidelines and best practices for iOS apps | Hindi tutorial
Просмотров 5 тыс.Год назад
In this session we will discuss iOS security guidelines and best practices for iOS app. We will be taking about various guidelines of security for the iOS app development to ensure that attackers are not able to sniff out sensitive information about the user Given are the chapters in the video 0:00 introduction 0:17 sensitive and non-sensitive user data 2:00 encrypt everything is bad 2:26 mobil...
Heavyweight migration in core data swift tutorial Part 1 | Hindi tutorial [English subtitle]
Просмотров 3,6 тыс.Год назад
Heavyweight migration in core data is an important topic for iOS development. In this iOS core data tutorial, we will cover heavyweight migrations. We have already covered lightweight migrations for core data in a previous tutorial and in this session, we will explore heavyweight migrations. Given are the chapters for today's video 0:00 introduction & per-requisites 0:46 core data heavyweight m...
Critical thinking while deciding architecture part 2 (Q&A Round)
Просмотров 2,3 тыс.Год назад
Architecture is of the key aspects in iOS development, in this video I will be answering few of the queries asked by iOS developers. There are few queries with regards to ios developer career guidance as well. I hope this session will be helpful. Given are the chapters of this session 0:00 introduction 0:08 deciding the folder structure 2:10 mvvm and swiftui 4:26 too many architecture in ios 6:...
Critical thinking in iOS Architecture (Part 1) Hindi tutorial
Просмотров 3,8 тыс.Год назад
Critical thinking in iOS Architecture (Part 1) Hindi tutorial
Parse string field JSON API response to the right data type | Hindi Tutorial
Просмотров 2,2 тыс.Год назад
Parse string field JSON API response to the right data type | Hindi Tutorial
Don't use string everywhere | Swift hindi tutorial
Просмотров 2,7 тыс.Год назад
Don't use string everywhere | Swift hindi tutorial
Array functions & Swift interview tips | Swift Hindi tutorial
Просмотров 4,8 тыс.Год назад
Array functions & Swift interview tips | Swift Hindi tutorial
Misleading practices of SwiftUI on the internet
Просмотров 4,8 тыс.Год назад
Misleading practices of SwiftUI on the internet
Why extensions must not contain stored properties? | Hindi tutorial
Просмотров 7 тыс.Год назад
Why extensions must not contain stored properties? | Hindi tutorial
The Model View Approach in SwiftUI
Просмотров 2,8 тыс.Год назад
The Model View Approach in SwiftUI
Career guidance Part 2: Senior iOS developer and open question session
Просмотров 3,6 тыс.Год назад
Career guidance Part 2: Senior iOS developer and open question session
iOS developer career guidance for Freshers & Junior developers
Просмотров 5 тыс.2 года назад
iOS developer career guidance for Freshers & Junior developers
Copy on write & Copy on assignment in Swift | Hindi tutorial
Просмотров 6 тыс.2 года назад
Copy on write & Copy on assignment in Swift | Hindi tutorial
iOS MVVM swift code review best practices | Hindi
Просмотров 6 тыс.2 года назад
iOS MVVM swift code review best practices | Hindi
What is tight coupling in programming?
Просмотров 7 тыс.2 года назад
What is tight coupling in programming?
Difference between weak and unowned in Swift
Просмотров 15 тыс.2 года назад
Difference between weak and unowned in Swift
Importance of interface segregation principle in Swift | English captions
Просмотров 4,1 тыс.2 года назад
Importance of interface segregation principle in Swift | English captions
Format UTC date string using DateFormatter in Swift
Просмотров 3,5 тыс.2 года назад
Format UTC date string using DateFormatter in Swift

Комментарии

  • @sumansharma-hz1hv
    @sumansharma-hz1hv 22 часа назад

    your videos are too good

  • @raghuramanandhan668
    @raghuramanandhan668 3 дня назад

    Great! Learning a lot from your videos.

  • @ios_codeacademy6814
    @ios_codeacademy6814 3 дня назад

    Where is 3rd part??

  • @avii___7
    @avii___7 5 дней назад

    After watching this tutorial, I am able to establish a one-to-one relation like a cakewalk. Thank you, Ravi brother, for this. Additionally, I'm curious how CoreData handles the requirement where there are already some employees stored in the database, and then passports are downloaded from a REST API. Will CoreData be able to link them if I use the update record method on the CDEmployee table? The answer is yes. CoreData will create a linking ID that points to the linked passport for that employee (earlier the linking ID was nil for that employee) and store the primary key for the linked passport.

  • @noonepov
    @noonepov 8 дней назад

    great work

  • @vilas18able
    @vilas18able 11 дней назад

    Great explanation Ravi. Kudos these concepts will help anyone who wants to brush up on the basics at any point in their career. I hope you make more videos on the latest concepts of swift.

  • @wolvrG
    @wolvrG 15 дней назад

    Great tutorial. I am coming from UIKit and never got the chance to get into SwiftUI because of busy office schedule. This helped me a lot to grasp it without going through all the basic stuff. You should make more advance SwiftUI tutorials. One question: Do you think its worth to start a new personal project in SwiftUI? I am very very comfortable with UIKit (programmatic UI) and generally prefer that but if SwiftUI is now in a stage where I can get help from community incase of any blocker then I am okay to start as learning point of view too.

  • @anonymoussunny7127
    @anonymoussunny7127 17 дней назад

    in this example, we are entering and leaving DG 2 times, so will notify called 2 times?

  • @rajdeeproy3655
    @rajdeeproy3655 19 дней назад

    I could not find the part 2 of this ..can anyone please provide the link?

  • @himansupanigrahi9247
    @himansupanigrahi9247 20 дней назад

    I've been following your content since the beginning, and I must say, you truly understand what developers need. Very few content creators grasp this as well as you do. Your way of explaining things is exceptional, and the way you configure your content-whether it's the voice, presentation, diagrams, audio, or the level of explanation-is consistently top-notch. This level of quality is rarely found elsewhere. I appreciate seeing your organic growth and the dedication you put into your work. However, it's been a while since you last published a video. I hope everything is well with you. I understand that staying consistent with publishing content can be a challenge, but I encourage you to keep it up. Your work is invaluable, and I truly want to see you shine. I also want to mention that I love your Hindi videos and don't see any issue with them, but if you make the same content in English, it will be available to a global audience. I believe you have the potential to rank among the top iOS content creators in the world.

  • @U-and-Mee
    @U-and-Mee 23 дня назад

    This is BEST BEST BEST video i have seen on youtube. Wt a explanation. Soothing Voice, calm explanation, with mind blowing examples. Next level. In these days i preparing for interview. i used to of your videos CODECAT15. thank you so so much. If any referral anywhere . Please let me know. Thank you Thank you Thank you Soooooo much.

  • @U-and-Mee
    @U-and-Mee 24 дня назад

    Superb series.

  • @U-and-Mee
    @U-and-Mee 24 дня назад

    great

  • @U-and-Mee
    @U-and-Mee 24 дня назад

    Superb!

  • @SubhashJaiswar-mu1qj
    @SubhashJaiswar-mu1qj 25 дней назад

    best example great

  • @htftechnical2926
    @htftechnical2926 27 дней назад

    I have a question , we can return by using the if statement also then why guard .

  • @tusharnagar6849
    @tusharnagar6849 28 дней назад

    Hey, can't we just made a function that accepts double value and convert it and then return.

  • @abdulyasin_iOS
    @abdulyasin_iOS 29 дней назад

    very bad example of Protocol. Let's not create "Humans" as a protocol. We should name it as "LivingBeing" or something like that

    • @CodeCat15
      @CodeCat15 28 дней назад

      That’s excellent thought, Humans can conform to LivingBeings and that too is an example of ISP. It all depends on how you group your methods in a protocol which was the intent of the video.

  • @user-bu2kk8dp6p
    @user-bu2kk8dp6p Месяц назад

    Thank you very much! It was really very helpful for me 💯🤛. I tries three day pass data from one vc to another, and was not able to understand why every time I could receive nothing exept nil🤪

  • @NehaBisht-n3v
    @NehaBisht-n3v Месяц назад

    nice explination thank you

  • @U-and-Mee
    @U-and-Mee Месяц назад

  • @U-and-Mee
    @U-and-Mee Месяц назад

    Next Level Video, Thanks.

  • @U-and-Mee
    @U-and-Mee Месяц назад

  • @U-and-Mee
    @U-and-Mee Месяц назад

    just wow

  • @U-and-Mee
    @U-and-Mee Месяц назад

    Thank you for videos.

    • @CodeCat15
      @CodeCat15 28 дней назад

      Glad you are finding them resourceful

  • @U-and-Mee
    @U-and-Mee Месяц назад

    Amazing Explanation.

  • @U-and-Mee
    @U-and-Mee Месяц назад

    Subscribed.

    • @CodeCat15
      @CodeCat15 28 дней назад

      Welcome to the channel 😊

  • @U-and-Mee
    @U-and-Mee Месяц назад

    Wow, You are doing Great work. Thank you so much.

    • @CodeCat15
      @CodeCat15 28 дней назад

      I am glad this video was helpful

  • @ShubhamSharma-tu6is
    @ShubhamSharma-tu6is Месяц назад

    Amazing Series. Thanks Ravi.

  • @ShubhamSharma-tu6is
    @ShubhamSharma-tu6is Месяц назад

    Super Amazing!

  • @sonu-op6kq
    @sonu-op6kq Месяц назад

    mocks are not running.

  • @manojaher88
    @manojaher88 Месяц назад

    Great video!! That is a very detailed explanation. Found one issue: Since your queue is concurrent, there is no guarantee that your Task with getAvailablePhones() will be called post purchaseTask. This will create an unwanted issue. Please correct me if I am wrong

  • @raghuramanandhan668
    @raghuramanandhan668 Месяц назад

    Learning a lot from you. Would you kindly include subtitles to your videos? They would be really beneficial.

  • @pawandhawanbusinessconsult2362
    @pawandhawanbusinessconsult2362 Месяц назад

    Thank You Dear Raj.

  • @pawandhawanbusinessconsult2362
    @pawandhawanbusinessconsult2362 Месяц назад

    Badhiya Bhai, Thanks

    • @CodeCat15
      @CodeCat15 Месяц назад

      Glad it was helpful Pawan, please feel free to ask questions and do share the channel with your iOS group.

  • @pravinnashte9514
    @pravinnashte9514 Месяц назад

    This is what I was looking for, Thanks Ravi.

  • @rituverma7318
    @rituverma7318 Месяц назад

    Hello Ravi Sir, this content is very helpful for us. Please upload more videos.

  • @premsarkar9408
    @premsarkar9408 Месяц назад

    Hi Ravi in 8:55 time duration you said Hstack will not work, but now 2024 june and Hstack also work maybe swiftUI upgraded because it's 4 years passes. Hstack works outer the VStack { } Can you please upload new video. this is very helpful for me.

  • @srkeerthy
    @srkeerthy Месяц назад

    Any reason for using @ObservedObject property wrapper instead of @StateObject for TaskViewModel in HomeView?

    • @CodeCat15
      @CodeCat15 Месяц назад

      I reverted to StateObject in the later videos and used ObservedObject to pass the VM as a dependency to child views

  • @poojaraghuwanshi4086
    @poojaraghuwanshi4086 Месяц назад

    @ravi if unowned is always work so why we should not always use unowned , why we depends on weak???

    • @CodeCat15
      @CodeCat15 Месяц назад

      Choosing between weak and unowned depends on the specific relationship and lifecycle guarantees between the objects involved, weak is used for optional reference whereas unwoned is used for non-optional references. You should unowned only on those types which are never expected to be nil but if for some reason they do end up being nil then it will crash the app and hence weak should be the choice as it won't crash the app.

  • @nagarajvrao7249
    @nagarajvrao7249 Месяц назад

    19:30 - A reference cycle only occurs if both types involved are reference types, not if one is a value type. Therefore, conforming to AnyObject is unnecessary when one side is a struct. The reason a ViewModel (VM) should be a class rather than a struct is due to state management. When a property of a struct is changed, the entire struct is recreated with the new value, causing the rest of the state to be lost. This means we would need to retain the shared instance every time the value of the struct-based VM is changed, which is not practical. Please correct me if I'm wrong, @codecat15 @ravi.

    • @CodeCat15
      @CodeCat15 Месяц назад

      right, but then as I explained in the video that mostly devs prefer class over struct and the explanation was given to ensure that if the view-model (VM) is a class then ensure the AnyObject conformation and the implementation of weak. A VM should never hold state whatsoever it is an orchestration class and not a class that manages state of the objects.

  • @pateldarshan1688
    @pateldarshan1688 Месяц назад

    really awsm content😇

    • @CodeCat15
      @CodeCat15 Месяц назад

      Glad it was helpful, please feel free to ask questions on this and do share the channel with your iOS group.

    • @pateldarshan1688
      @pateldarshan1688 Месяц назад

      @@CodeCat15 sir you should create content on SwiftUI regularly

  • @pawandhawanbusinessconsult2362
    @pawandhawanbusinessconsult2362 2 месяца назад

    Thank you dost

  • @amandeepkaur404
    @amandeepkaur404 2 месяца назад

    Hey Ravi can you please add a video on test doubles like stubs, mocks, spy, fakes etc? These are also a great part of unit testing.

  • @amandeepkaur404
    @amandeepkaur404 2 месяца назад

    Hey Ravi can you please add a video on test doubles like stubs, mocks, spy, fakes etc? These are also a great part of unit testing.

  • @iSubhoo
    @iSubhoo 2 месяца назад

    Too much Complicated Video, also at 18:30 why using NSPredicate, what is it? why using format: "id==%@" nothing emplained. Just coding is going on.

    • @CodeCat15
      @CodeCat15 Месяц назад

      Sorry if you feel that way, NSPredicate is a class that works like a filter in core data it's similar to a WHERE clause in SQL, hope that helps.

  • @ranjanmondal1340
    @ranjanmondal1340 2 месяца назад

    Nice video ❤ . I have a one doubt force unwrapping is not a good practice but apple itself doing that in case of @IBOutlet why ?

    • @CodeCat15
      @CodeCat15 Месяц назад

      The reason why they are forced unwrapped is because by the time your storyboard or your code initializes the UIControl it's guranteed that it will be available for you to use and operate on. The force unwrapping in my opinion is kind of a check that ensures that this control is on the view and is available to use avoiding the need to optional unwrap. Let me know if that answers your question and if not then feel free to ask more.

  • @amitraj2095
    @amitraj2095 2 месяца назад

    @CodeCat15 Could you please share the next video link (For Two way binding) of MVVM

    • @CodeCat15
      @CodeCat15 Месяц назад

      My apologies for not having the two-way binding video for UIKit, the way I implemented it back then was using the Observer class and the code for that is not pretty. With Observation framework now, we can surely use two-way binding as it's naturally supported in the system.

  • @samyakp1353
    @samyakp1353 2 месяца назад

    In UIKit controls used to be type Class but in SwiftUI why all views are struct? And what is @frozen wrapper infront of them?

    • @CodeCat15
      @CodeCat15 Месяц назад

      I think this design decision was made by apple to fit the need to reflect the instant changes on the view, structs are value types and hence when an existing value is updated in the struct it creates a new copy this provides predictable behavior, making it easier to reason about the state and identity of views and since structs are copied by value, the framework can easily determine when a view has changed and needs to be re-rendered. In Swift, the `@frozen` attribute is used to indicate that a public enumeration or struct's cases or properties will not change in future versions of the library or module