Discover How To Save Your API Response Into SwiftData ☁️ | SwiftData Tutorial | #7
Вставка
- Опубліковано 30 чер 2024
- ⏭️ Next Video: Saving Images in SwiftData - • How To Store An Image ...
⏮️ Previous Video: Prefill JSON In SwiftData - • How To Use JSON To Pre...
Discover How To Save Your API Response Into SwiftData ☁️ | SwiftData Tutorial
**********************************
Timestamps:
00:00 - Intro
04:02 - Setting up our SwiftData Model
07:12 - Fetching our data from SwiftData using @Query
09:32 - Adding in a cache With SwiftData
15:21 - Cleaning up our data in SwiftData
**********************************
In this SwiftData Tutorial we'll be taking a look at how to save JSON into SwiftData. But specifically using an API. We'll how how SwiftData works with API calls and also how we can use swiftdata and codable to help boost the performence of our apps.
We'll look at how we can use Swift Concurrency Async Await to make a request to an API and store the response into SwiftData, using swiftdata with codable and also swiftdata with async await. And Learn how you can make your SwiftData models Codable.
**********************************
Check Out My Courses 👨🏽🏫
Enjoy my teaching style? Check out my other courses on my website that may interest you, they range from beginner to advanced topics within iOS development.
Link to Website
tunds.dev/#courses
**********************************
Join the crew 🤝
Want to help support the channel? Become a member with the join link below and get access to exclusive badges and stickers, as well as other perks that are coming soon.
Become a channel member
www.youtube.com/@tundsdev/join
Support in other ways 💕
You can support me for free and help the channel grow so that I can continue to make the best iOS development content for you by liking, commenting, subscribing, and hitting the notification bell.
All of this really helps my channel grow and allows me to keep on making content for you. If you’re interested in subscribing to the channel then you can do so with the link below.
Subscribe to the tundsdev UA-cam channel
ua-cam.com/users/tundsdev?su...
**********************************
Download Source Code
Interested in looking at the source code? Then check out the GitHub Repo below
github.com/tunds/youtube-cont...
**********************************
EditorKeys
View Editor Keys Amazing Products with the link below and use the discount code for 10% off any product
www.editorskeys.com/tundsdev
Get a 10% Discount Code on any product with the code below
TUNDSDEV
See my keyboard cover in action with my review below 👇🏾
• Increase Your Xcode Pr...
**********************************
RØDE Wireless Mic
amzn.to/3D5qo3V
RØDE SmartLavPlus Microphone
amzn.to/3DtVUdG
2021 Apple MacBook Pro (16-inch, Apple M1 Pro chip with 10‑core CPU and 16‑core GPU, 16GB RAM, 1TB SSD) - Space Grey
amzn.to/3Drc2fH
Apple Magic Keyboard with Numeric Keypad (Wireless, Rechargeable)
amzn.to/3VUctXh
Apple Magic Mouse
amzn.to/3sqXSoM
Secretlab TITAN 2020 Charcoal Blue Gaming Chair
amzn.to/3D2jVXI
ErgoFoam Ergonomic Foot Rest for Under Desk
amzn.to/3srJOLM
Lumbar Support Pillow
amzn.to/3eXVfrg
Macbook Stand for Apple Macbook and All Notebooks
amzn.to/3DqG7vR
Portable Chair Green Screen Background
amzn.to/3gG62GU
**********************************
#iosdev #iosdevelopment #swift #swiftlanguage #xcode #appdevelopment #mobileappdevelopment #iosappdevelopment #appdeveloper #iosprogramming #iosengineer #appdevelopmenttips #iosdevelopmenttips #swiftui
🚨Xcode Update🚨
Starting from Xcode 15 Beta 5, when sorting items you now need to include the root in the keypath too, so update the sort parameter to look like this.
@Query(sort: \Photo.id) private var photos: [Photo]
Great Stuff!
Maaaaaaannnnn….. Thank you so very much for all your hard work and videos!
The way you show live use tricks and technics are extremely useful. Love your teaching style (big fan!!!).
I don’t usually leave comments anywhere. But YOU Sir, are AMAZING.
Once again, thank you! Please keep making more tutorials, to many it might seem trivial, but YOU ARE CHANGING SOMEONES LIVE 🙏🙏🙏
P.s. Baki vs Pickles was crazy
I appreciate that!
Great video, thanks a lot!
Love your videos dude! They're super informative and entertaining
Glad you like them!
thank you tunds for the awesome video! Really enjoyed! I wish to become a top youtube in the iOS community. please keep it up!
Glad you enjoyed it 👌🏾
Oh ... nice! Thanks for the tutorial
Glad you found it useful 👌🏾
Thanks. Like the channel! How are you handling updates back to the server. Example would be delete a record on the phone… where are you sending the delete call back to server?
Hi. Thanks for your videos. Why did you convert lastFetchedTime interval to a date instead of comparing it to the now time interval ?
Hi,
Glad you enjoyed it. The reason why i use a time interval for the appstorage is that appstorage in SwiftUI doesn't support saving a Date yet as far as i'm aware of. So it convert it into a time interval representation. Then back to a date so that i can use the calendar to compare if it's been a certain number of seconds. I wouldn't want to compare two time intervals and it's just clearer for me to visualise too. Hope this answers your question.
Awsome video! Do you think they'll fix the Codable error by the time xcode gets out of Beta?
I actually don’t know if its an error or if it’ll be fixed 😅
It may be there by design 😬
Glad you enjoyed the video
Thank you! I’ve watched all your SwiftData videos. Any idea how to share data with other users? There’s zero documentation on that…
Hey hope you enjoy them & can you explain on sharing data with an example pls?
@@tundsdev Yes, we definitely enjoy all your videos! So, CloudKit easily allows us to persist swiftdata and sync it with all our devices. But, what if I’m creating a Reminders App and want to share a list with you, like the actual Apple Reminders App allows? Not a copy, but a live joint list that we can update together.
CloudKit supports a public, private, and shared database. And what’s the point in persisting data if you can’t share it with anyone :(
It seems like all of Apple’s native apps allow for this: photostreams, shared notes, shared reminders, shared calendars, shared locations, shared AirTags, shared safari tabs, etc.
Whether we’re creating a todo list, a recipe app, or even a game, sharing data is pretty essential.
Thank you!!!!
You can explain about code in line function clear photo
_ = try or dosomething
What’s useful or when need use that syntax
The underscore is just a placeholder, the function returns a bool but i don’t want to store it in a variable so I use the underscore as a placeholder
@@tundsdev thank you
Thanks tunde. Great job.
But how can I save Images in Swiftdata synced with iCloud?
Thanks & saving an image is coming next up 👀 the iCloud stuff, i’ve not decided yet 😅
Hey Tundsdev, It erased my earlier comment lol. Anyway shorter version is I am looking at either doing. this approach or trying to preload it via JSON file or making the data in another app and dropping it in. It is a LOT of dates not sure which way to. go. I got it working so. far but when I tried adding the encoding in manually to make it a swift data class. I am just getting errors.
Do you have an example with relationships and caching data into SwiftData?
👋🏾 This is part of a free course here on UA-cam, You could tweak it to use the techniques in this video
How To Preload Relationships Into SwiftData ModelContainer ⚡️ | SwiftData Tutorial
ua-cam.com/video/DnZKwlOkRrE/v-deo.html
Full Course
ua-cam.com/play/PLvUWi5tdh92wZ5_iDMcBpenwTgFNan9T7.html&si=zVzmrqDz4MnwTLfR
Are you suggesting we should use codable class model instead of codable struct for json decoding of APIs in real projects, or is this done just for simplicity for this video and it's not something recommended in a real project?
Hey, i’d start off with codable imo. You could use this in a real project too. The only time i would use a mapper is if your model changes at lot or if your API response it really big i.e. it has a lot of properties then you could use a mapper to keep the model small and only use the properties you need 👌🏾
@@tundsdev Did you mean to say "i'd start off with codable class"? I am currently doing mapping in my project and I find it makes it much more complex. Your reasoning makes sense.
Yes start off with codable, it’s better to start simple and then scale if you need too into something more complex.
@@tundsdev Hi again, I just realized you might have misunderstood my question. My question was more about if we should use "class" (Swiftdata @Model) or "struct" to decode the API response.
@vanylaskywalker Hi, you can’t use struct with the model macro you need to use a class. So by default they would be classes
have you anything on swift data from api in a swift package lol