Intro to SwiftData - Model, Container, Fetch, Create, Update & Delete

Поділитися
Вставка
  • Опубліковано 28 вер 2024

КОМЕНТАРІ • 143

  • @seanallen
    @seanallen  Рік тому +10

    Learn more with my iOS Developer courses at seanallen.teachable.com

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

    I've watched several tutorials on SwiftData, but this one stands out as the best introduction to the topic so far. Sean has a unique talent for simplifying complex concepts and making them easily understandable. Thanks Sean. 🙌"

  • @peerview
    @peerview Рік тому +13

    wow! that's a great video, yeah give 30 videos please. Would be great one about video or media in general? how to persist it ( i know, probably that's 50 videos long too XD)

    • @seanallen
      @seanallen  Рік тому +1

      Haha, yeah. SwiftData is a huge topic that will continue to grow as Apple builds upon this initial version.

  • @allenwixted1992
    @allenwixted1992 11 місяців тому +1

    Sean! Back working on an iOS app and this is exactly what I needed. Haven’t coded since we spoke probably like 5 years ago when ARKit first came out.
    Excited to put it to use

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

      Hey Allen! Welcome back. 👋

  • @parthpatel7461
    @parthpatel7461 5 місяців тому +1

    Crystal clear explanation

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

      Glad you liked it!

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

    Thank you so much! Idk if you already made this video, bc I couldn't find on the channel but, if you could make a video to help use swiftData with view models that would be awesome! Thanks again

  • @ishool108
    @ishool108 10 місяців тому

    Thanks for the video.
    Two questions:
    - How do you work with related one-to-one and one-to-many models?
    - How to bring the logic of working with storage into ViewModel?

  • @Michael-Martell
    @Michael-Martell 6 місяців тому +1

    Incredible video man! First time seeing anything from your channel! Been slamming my keyboard trying to get through UI mismatching and out of date CoreData tutorials. I would love to purchase a SwiftData course if you have one. Would you post on Udemy maybe?

    • @seanallen
      @seanallen  6 місяців тому +1

      Glad you liked it! I don't have a Swift Data course (yet) because it's pretty new and I expect a lot of updates and changes with iOS 18 this year.

  • @JM_theBoss
    @JM_theBoss Місяць тому

    finally a video that actually helped!

  • @chrisrudy1969
    @chrisrudy1969 6 місяців тому +1

    Thanks for the video!

  • @조용진-i6z
    @조용진-i6z 2 місяці тому +1

    Thank you so helpful!!

  • @RomanPurishy-z2z
    @RomanPurishy-z2z Рік тому +1

    Good lesson. Thanks

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

    Hi Sean, I've been watching some videos on your channel, and your method of presentation is excellent and easy to follow, I'm completely new to iOS development and was wondering if you have a video or tutorial that has a complete beginners guide?

  • @paulyandnukhas
    @paulyandnukhas 11 місяців тому +1

    That was super useful thanks.

    • @seanallen
      @seanallen  11 місяців тому +1

      Glad to hear it!

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

      Are you on Threads,@@seanallen ? I'd like to follow you. `

  • @iLoveAppl3947
    @iLoveAppl3947 4 місяці тому +10

    thanks boss. I do like content creators who doesn't read the course material but instead is thinking logical, it gives me the vibe that you a pro

    • @seanallen
      @seanallen  4 місяці тому +1

      I appreciate that!

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

    Do you have a video on how to use swift data and preload the database and the data?

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

    Could you make a video about becoming a freelance app dev?

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

    Anyone found a way to back up the data. Not sync it for multiple devices, but create a backup file of the data to iCloud or dropbox, then restore from that file if needed.

  • @DragonByte79
    @DragonByte79 8 місяців тому

    Does anyone know if I have to care about unique constraints? Do I have to check if it exists before inserting it? Currently, it is working. It won't add another one. Is SwiftData handling it?

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

    can you tell me how I connect sql based db to swift data.... video is useful. thank you

  • @Jem-xu2jm
    @Jem-xu2jm 11 місяців тому

    please my friend make tutorial based on new swiftdata and swift ui, like recent ones, 10 hours each

    • @seanallen
      @seanallen  10 місяців тому

      Oh, just a casual 10 hour tutorial??

  • @septimir5278
    @septimir5278 8 місяців тому

    If @Query results change, will the view invalidate like with @State and re-render?

    • @seanallen
      @seanallen  8 місяців тому +1

      Yes, that's how it should work.

  • @ayberkmogol
    @ayberkmogol Рік тому +1

  • @VTivan
    @VTivan Рік тому +11

    Great video, as usual. Would be great a part 2 explaining the iCloud sync with SwiftData

    • @TVsBen
      @TVsBen Рік тому +3

      Yes I would love part 2! I have CloudKit enabled on a SwitData project but I'm not understanding how to get it to sync.

    • @seanallen
      @seanallen  Рік тому +1

      More Swift Data videos in the future for sure. No promises on when, but there's a few on my to-do list.

  • @bradleygilmore
    @bradleygilmore 10 місяців тому +4

    This was by far the best SwiftData video I've seen. Thank you!

  • @AndrewDChristie
    @AndrewDChristie 9 місяців тому +4

    I've been watching for a while, I like Sean's teaching style - he has a great way of making complex concepts simple and understandable

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

      I appreciate the long-time support, Andrew!

  • @bharned3
    @bharned3 8 місяців тому +1

    Thanks I have been enjoying your videos. Is this one available to grab as a starter

    • @seanallen
      @seanallen  8 місяців тому

      I don't have starter projects, however you can grab the completed source code at seanallen.teachable.com/p/source-code-youtube-videos

  • @naeem3dful
    @naeem3dful Рік тому +4

    Hey Sean, I just wanted to let you know how much I appreciate the way you present and explain new things. Your videos make complex topics seem so simple and understandable. It's clear that you have a talent for breaking things down. Thanks for making data storage seem so much easier in your beautiful way. Keep up the fantastic work!

    • @seanallen
      @seanallen  11 місяців тому +1

      I really appreciate the kind words and it's motivation to keep going 💪. Glad you're enjoying the content!

  • @Uz_Mobile_Developer
    @Uz_Mobile_Developer Рік тому +2

    Thanks for video. I think IOS development very easy than Android development. This video was very helpful

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

      Glad it helped!

  • @kailasvilaskore
    @kailasvilaskore Місяць тому

    Is there anyway to connect swiftdata to amplify datastore ? Any sample code to implement Datastore & DatastoreConfiguration for amplify datastore

  • @ZTagger97
    @ZTagger97 20 днів тому

    whats the difference between Binding and Bindable,are they same usage different annotation?. Great video as always.

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

    This really is amazing but it put me off using it atm because it's obviously only from iOS 17 & above, I'm using FMDB right now

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

    I never understand the do/try/catch blocks because all tutorials force unwrap or put in comments saying “// do some code here” lol

  • @anudeepananth
    @anudeepananth 8 місяців тому

    How do we perform CRUD outside the view, example periodically check for new data from the server, download it using background tasks but now it needs to be persisted to local database

  • @MineRala-bn4ep
    @MineRala-bn4ep 2 місяці тому

    hi @seanallen , How can I do the undo process in swift data. Am I getting an ID-related crash?

  • @piteke100
    @piteke100 8 місяців тому

    Hi, I’m continuing to study SwiftData by repeating all the tutorials but I can’t understand one thing:
    I have to create an app with a default list (which therefore no data needs to be added) and this list is contained in a toggle. How do I make only the toggle state persistent?

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

    Awesome. Can you show it using Previews instead of the Simulator? Thanks

  • @ondrejrohon5696
    @ondrejrohon5696 Рік тому +2

    I did a bit of iOS development when Swift was brand new and it's incredible how far i went.. so much simpler nowadays. I was thinking about side project with nice offline functionality and I though about CoreData and how complex it is. This is such a good news to see there is beautiful new "SwiftUI" way how to do it. Thanks so much for this clear introduction! :)

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

      Yes... this will be a huge improvement over Core Data.

  • @denisfok1699
    @denisfok1699 Рік тому +3

    Thanks for the intro, that is extremely useful.

  • @rtjh045h
    @rtjh045h 5 днів тому

    what about saving the container to a file to share with another user?

  • @nitramluap
    @nitramluap Рік тому +1

    I need to be able to migrate my CoreData app to SwiftData but it's just not there yet... CoreData is still WAY more sophisticated, particularly for large complex databases with lots of > relationships, etc. Fingers crossed they'll make it possible in the next year....

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

      Agreed... give SwiftData another couple years. It's clearly the future, but not quite there yet for complex projects.

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

    want to create SwiftData in a Framework not in Host App. where do we specify the model container?

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

    Does anyone know if there is a way to query based on a State var? Say there is a button where the user can set the month with the intention of viewing every expense pertaining to just that month. I don't think we can just set the month as a state var and use it in the Query filter

  • @JeudryPeñaPeña
    @JeudryPeñaPeña 3 місяці тому

    Suggestion: if u skip so much code video for ui, give the code to copy it, so we can do it fast too

  • @kuldar
    @kuldar Рік тому +2

    You have such a clear way of explaining concepts. Great work! Looking forward to the new course!

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

      I appreciate the kind words, Kuldar!

  • @xtu373
    @xtu373 Рік тому +1

    Please make some vidoes of data structures and algorithms in Swift

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

      That's out of my area of expertise. I haven't interviewed for a job in a long time and that's the only time I ever used or studied that topic.

  • @87Avantgarde
    @87Avantgarde 4 місяці тому +1

    Dear Sean, thank you for that wonderful video. Love your teaching style, it’s easy for me to understand and follow you. Just excellent.

    • @seanallen
      @seanallen  4 місяці тому +1

      Glad you like my style!

  • @josep-rudo
    @josep-rudo 5 місяців тому

    Hi Sean! Thanks for your SwiftUI videos, for all of them. Are really helpful!,. Please, Can you share your Xcode theme? Thanks in advance 🫶🏻

    • @seanallen
      @seanallen  5 місяців тому +1

      Happy to help. The theme is called Midnight. it's a default one in Xcode. The only thing I changed was the color of the comments. I made them grey.

  • @torfeuzarre
    @torfeuzarre Рік тому +2

    Thanks Sean. Great tutorial as usual 😊
    As a beginner it looks far easier to begin than Core Data 😅

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

      Yes... it's much easier. It needs another year or two to mature, but it's a great start and clearly the future.

  • @chesterman18g
    @chesterman18g Рік тому +1

    Container-Context in SwiftData is really a mirror of an CoreData Persistent store and ManagedObjectContext with sugar of autosave (?).

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

      Yup. That's it.

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

    Hi, how I can use onMove modifier on expenses?

  • @Bankai3474
    @Bankai3474 Рік тому +1

    Great video, I've been working on an app with SwiftData since it was announced while doing the #100DaysOfSwiftUI challenge. You were wise to wait till now before making a video because there were some bugs when you had custom types and enums haha. Anyways, thanks for the example because now I can change my edit view, Apple's example app of updating an existing SwiftData object isn't like this so now I can clean up my code a bit.

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

      I agree. This is definitely a great start for SwiftData, but it needs another year or two to mature.

  • @TheEmperorXavier
    @TheEmperorXavier Рік тому +1

    I just discovered your channel and I’m watching your Swift UI Fundamentals Video. You keep dropping these fire videos which is helping me understand SwiftUI a lot. Thanks soo much and I greatly appreciate your valuable work.

    • @seanallen
      @seanallen  11 місяців тому +1

      Welcome to the channel! Glad you're enjoying the content :)

  • @D0iego
    @D0iego Рік тому +1

    How can I use the context outside swiftUI? Like if I want to manage in a different class an Object stored in a context

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

      In the video I show you how to create a container object. Once you have that object you can use it outside the view hierarchy (like a SwiftDataManage singleton for example).

  • @modhi210
    @modhi210 10 місяців тому

    what did you mean by ExpenseCell ?

  • @SaschaBuerk
    @SaschaBuerk 8 місяців тому +7

    Just started to dip my toes into iOS development and I wasn't aware how recent some of the things I try to use are. It's so hard to find guides. So this is perfect.

    • @seanallen
      @seanallen  8 місяців тому +1

      Happy to help 👍

  •  Рік тому +1

    Great content! Very useful but as everything that introduced newly, to use them daily, we need to wait until iOS 17 is used more.

    • @seanallen
      @seanallen  11 місяців тому +1

      Yes. And it's probably needs another year or two to be fully ready for complex projects.

  • @pavloma6836
    @pavloma6836 10 місяців тому +1

    Man... your explanation is top notch! You know where to put accents! Very well done 👍

    • @seanallen
      @seanallen  10 місяців тому

      Thanks! Glad you like my teaching style.

  • @michaelbouril5278
    @michaelbouril5278 6 місяців тому +1

    This is just incredible, your level of mastery and ability to step through each portion with great clarity is unheard of!

    • @seanallen
      @seanallen  6 місяців тому +1

      I appreciate the kind words and glad you liked the video!

  • @patgoo2
    @patgoo2 Рік тому +1

    Great, that covers a lot of information with swiftData and looking forward to your next video.

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

      Glad you liked it!

  • @DD-hh3sp
    @DD-hh3sp 7 місяців тому +1

    Love your style, Sean. You explain things well and make it understand. Thanks!

    • @DD-hh3sp
      @DD-hh3sp 7 місяців тому

      *understandable.

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

      I appreciate that! Glad you like my teaching style.

  • @chezchezchezchez
    @chezchezchezchez Рік тому +1

    Omg. I asked, and I received!!
    Thanks, Sean!

  • @timotejmatlak4625
    @timotejmatlak4625 6 місяців тому +1

    Thank you Sean, you are the best teacher with the best content ever :)

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

      Thanks for the kind words :)

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

    Can you make a video showing how to implement swiftdata outside of a view? I’d also like to see fetch descriptors explained if possible.

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

    How can I save a dict?

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

    in case where you are handling with multi model how we are going to identify which is getting triggered in view. just a little confusion here as i am a basic learner.

  • @JeudryPeñaPeña
    @JeudryPeñaPeña 3 місяці тому

    Best tutorial! ive saw many 8h tutorials, but this is the most simple and powerful

  • @ArneGockeln
    @ArneGockeln Рік тому +1

    Very helpful! Thanks for sharing it!

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

    To the point, not overdone, not underdone and concise and clear. Great tutorial. This has everything you need to know to get started working with SwiftUI and SwiftData with good explanations

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

    Honestly, what a fantastic video. Clear helpful, and patient.
    Learned so much of the basics without diverting too much into wild syntax and hard to comprehend coding. Really great work on this video it's perfect!

  • @morgancooledge3557
    @morgancooledge3557 8 місяців тому

    New to SwiftU here. Is it SwiftUI best practice to keep the .sheet views code inside the same view as the content view or better to have them in their separate views? So instead of 1 view you would have 3, if that makes sense.

    • @seanallen
      @seanallen  8 місяців тому

      I'm not sure I follow what you mean. Do you mean within the same file, or within the actual View?

    • @morgancooledge3557
      @morgancooledge3557 8 місяців тому

      @@seanallen Sorry I think I meant file.

  • @ridholmes
    @ridholmes Рік тому +1

    Thank you!

  • @Greg-du
    @Greg-du 5 місяців тому

    absolutely clear in the essential. the best teacher ever 👍 regards from France

  • @Mater-code
    @Mater-code Рік тому +1

    can you talk about vision os?

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

      I have an overview video here - ua-cam.com/video/V-mIIcvYrh0/v-deo.htmlsi=dpjgdJwFYlQQ2o65

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

    is this only work in iOS 17?

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

      Yes, this requires iOS 17 and above.

  • @mkboy5596
    @mkboy5596 Рік тому +1

    thank you bro
    clear and smooth 🥰

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

    Hi Sean, really informative video. Is there a way to get data from a network request and transform the json straight into a swiftdata model with Codable?

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

      Yes... in SwiftData your models are the same models you would use in normal Swift code.

  • @vinidotco
    @vinidotco Рік тому +1

    A+ content for sure, thanks Sean,

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

      I appreciate that! Glad you liked it.

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

    Awesome video, SwiftData looks really good. The only thing I’m wondering is: What happens to an Expense when we assign it to the ExpenseToEdit variable and then dismiss the edit sheet? Does that Expense just keep sitting in the variable until we assign to it a different Expense (at which point I assume the sheet would trigger again)? Or does Swift automatically set the value to null again after we dismiss the sheet?

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

      It will hold the value until we assign it a different one (at which point would trigger the sheet again with the new information)

  • @yousifkurdy4778
    @yousifkurdy4778 Рік тому +1

    Exactly what i wanted!

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

    What is with Dynamic Filter

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

    Would you use this over Realm?

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

      I've never used Realm before, so I can't give a valid opinion here.

    • @satoriappdev
      @satoriappdev 11 місяців тому +1

      okay, thanks!@@seanallen

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

    How about sharing data between an app and widgets?

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

      Use an app group and put that ID in the container configuration parameter.

  • @smejia6362
    @smejia6362 2 місяці тому

    short and super fast explanation. This guy was in a hurry to finish the video 🫣

    • @seanallen
      @seanallen  2 місяці тому

      Some like short and to the point, some like long drawn out. I try to strike a balance.