Пікірлер
@juanfanjulbravo4848
@juanfanjulbravo4848 4 сағат бұрын
Hi! awesome video, I have a question: Is it a good practice to force unwrap a ui component like we do in this line "for: indexPath) as! TeamTableViewCell" ?
2 күн бұрын
Great video 👍 thanks Is it possible to migrate while using CloudKit?
@tundsdev
@tundsdev Күн бұрын
Yh you should be able too, you'd just have to enable icloud syncing on your container in your future app release and the schemas you have at that time would then by synced to icloud. You can check out the icloud vid on ym channel too
@niravvirpara2317
@niravvirpara2317 2 күн бұрын
Great Example of Observation framework . Thanks for this video. ❤👍👏
@tundsdev
@tundsdev Күн бұрын
Glad you liked it!
@Fadiabuzant
@Fadiabuzant 2 күн бұрын
Nice and clear. Thanks for this tutorial.
@tundsdev
@tundsdev Күн бұрын
Glad it was helpful!
@sofresh688
@sofresh688 2 күн бұрын
solid video! Great explanation
@tundsdev
@tundsdev Күн бұрын
Glad you liked it!
@niravvirpara2317
@niravvirpara2317 3 күн бұрын
This was really incredible! Great explain with great examples. Thanks for this details video. 👍
@tundsdev
@tundsdev Күн бұрын
Glad it was helpful!
@hollisambrose1756
@hollisambrose1756 3 күн бұрын
Excellent video on ModelActor macro. It was very helpful.
@tundsdev
@tundsdev Күн бұрын
Glad it was helpful!
@inalbansal
@inalbansal 6 күн бұрын
In the above response code - The range (200...300) should be (200..<300) to include 200 but exclude 300, which is the correct range for successful HTTP status codes.
@tundsdev
@tundsdev 6 күн бұрын
200 will be included in this range, as well as 300 which is fine when checking for a successful status code
@MessiFCBisseM
@MessiFCBisseM 7 күн бұрын
Thanks this is really helpful
@tundsdev
@tundsdev Күн бұрын
Glad it helped
@oldschool84
@oldschool84 8 күн бұрын
You asked us to write in the comments what content we would like to see. Well, here is something related to this topic. Can you explain how to fetch and save the data that we would download from an API through the Apollo client. Also, make a tutorial on how to import GraphQL and fetch data through it. Thank you
@RyanTaylorGT
@RyanTaylorGT 8 күн бұрын
Super helpful, thank you!
@tundsdev
@tundsdev Күн бұрын
Glad it was helpful!
@stemple03
@stemple03 9 күн бұрын
I have everything working but my likes and dislikes don't increase. The button doesn't trigger login either like yours does. Not a big deal. I will work thru it again. Many things I am trying to work on. Thanks for the Videos. They are helping me out a lot
@stemple03
@stemple03 9 күн бұрын
I found it. Thanks
@moe_shah_0078
@moe_shah_0078 10 күн бұрын
can you do a tutorial on deeplink when the app is terminated and a deeplink is clicked to a specific screen?
@tundsdev
@tundsdev 9 күн бұрын
I already cover this in the deeplinking sections and also videos on my channel too.
@chezchezchezchez
@chezchezchezchez 12 күн бұрын
You are a lifesaver dude! This solved my whole problem!
@jameelshehadeh9011
@jameelshehadeh9011 12 күн бұрын
Top notch content in terms of best practices and also humor thanks for such free and high quality content
@HarrisonCarroll-r7d
@HarrisonCarroll-r7d 13 күн бұрын
What software or where is used to make your youtube picture/icon for youtube? Great video btw thanks.
@ReddyMediaMarketing
@ReddyMediaMarketing 13 күн бұрын
I built an entire marketplace app using SwiftUI and firebase with no testing code… how would you recommend I approach this for launch the MVP! Love the content!!!!
@Echaront
@Echaront 15 күн бұрын
Hey @tundsdev! Great tutorial! I'm on Xcode 16 beta and I'm getting a "Extra trailing closure passed in call" error (18:10 of the video) on: func fetchItems( with query: CKQuery) async throws -> [CKRecord] { return try await withCheckedThrowingContinuation{ continuation in fetchItems(with: query) { result in continuation.resume(with: result) } } } I am unable to find any "Async wrapper" options in the Editor menu. Any suggestions?
@nileshjdarji
@nileshjdarji 18 күн бұрын
Wow Tunds. I like what you showed for the external storage. Very nice. I am really enjoying this series.
@islamov88
@islamov88 18 күн бұрын
Where did you get the previewUserId from ?
@behzad5849
@behzad5849 18 күн бұрын
also make a new video on how to send or POST data to API in swiftui
@tundsdev
@tundsdev 18 күн бұрын
Hey man it already exists on my channel within my take home project course, you can check it out below. kzfaq.info/get/bejne/o7J4fayH0KeWlKs.html
@behzad5849
@behzad5849 18 күн бұрын
hands down the best tutorial with best explanation ..
@dmacharo
@dmacharo 18 күн бұрын
Clear and straight to the point! Keep it up man
@kenturnbull9679
@kenturnbull9679 20 күн бұрын
The link to the code for this and the previous chapter does not work. Is this by design? I would like to explore the concepts further.; there could be a jam buttie in it for you. Also the image Viewer is not installing in my version of XCode (16.Beta 3)
@tundsdev
@tundsdev 19 күн бұрын
The code for this video isn't on my GitHub at the moment, it's something I'm looking to add in the future. I don't have a concrete date, also these videos were created during the Xcode 15 Beta phase so somethings might need tweaking a lil in this series. I'm currently planning a newer updated SwiftData series since it's more stable now compared to before.
@kenturnbull9679
@kenturnbull9679 19 күн бұрын
@@tundsdev I understand your comment about the XCode 15 betas, luckily these 16 betas are working better. Really wanted to see the two ToDoGroupView screens( ToDoGroupView and ToDoGroupItemView) to see how you did them. I cobbled them together but they don't quite look right and I am having trouble displaying the ToDoGroup.image. I think that group of three files and concept works very well. Look forward to seeing the updated github listing.
@kenturnbull9679
@kenturnbull9679 18 күн бұрын
@@tundsdev After much experimenting, it appears that my problem is in my TodoGroupItemView and quite likely the init. Is there any chance of seeing your currrent version of that file just to get this working right
@kenturnbull9679
@kenturnbull9679 21 күн бұрын
Try a little Old Bay on your Chip buttie. You don't know what you're missing
@nileshjdarji
@nileshjdarji 21 күн бұрын
Nice way you showed us to add default data at app launch. Thank you.
@nileshjdarji
@nileshjdarji 21 күн бұрын
I am extremely enjoying your this series. Great Job. I learned some cool stuff.
@kenturnbull9679
@kenturnbull9679 21 күн бұрын
Your new modifications to this app are just great. The ToDoGroupView looks very interesting..but not enough info on it. It doesn't look like it's in the git repository or am I not looking in the right spot.
@nileshjdarji
@nileshjdarji 22 күн бұрын
super awesome video. Love it.
@nileshjdarji
@nileshjdarji 22 күн бұрын
It's great that you are pasting code to save time but it would be nice if you quickly go over the code that you pasted so we don't have to pause the video and read the code. Because sometimes there is more code to fit in the screen and we cannot see everything at one time. Just a suggestion. I am enjoying this series.👍
@RichardBaileyrichoncode
@RichardBaileyrichoncode 22 күн бұрын
When is using a zstack preferable to putting the text there with an overlay? Overlay seems to encapsulate the intention better.
@stevethewindsurfer8911
@stevethewindsurfer8911 22 күн бұрын
Another warning: It looks like you can't filter or sort enums in SwiftData.
@tundsdev
@tundsdev 22 күн бұрын
Hey this is a known issue that I cover in a different video, and isn't the purpose of this video either. This isn't supported in SwiftData instead you have to use the raw value of the enum and and your properties data type in your model must be the same and not your enum type
@stevethewindsurfer8911
@stevethewindsurfer8911 22 күн бұрын
@@tundsdev Thanks! Yes this really seems to be the only solution as of today. I hope they improve on that next year.
@stevethewindsurfer8911
@stevethewindsurfer8911 23 күн бұрын
Why create an actor who you just reap everything into Task{let modelContext = ModelContext(container) ...} ?
@tundsdev
@tundsdev 22 күн бұрын
You have to use an actor so you can move it off the main thread and isolate it onto it's own thread which is what I explain in the video around 4:20, the ModelActor property wrapper lets you create a context away for the main one
@stevethewindsurfer8911
@stevethewindsurfer8911 22 күн бұрын
@@tundsdev Hmm. In my test this also does move the operation to a background thread. I haven't done much with actors yet, so maybe actors are the preferred way to do it anyway. Here is the code the way I mean it: Task(priority: .background) { let newModelContext = ModelContext(TestApp.sharedModelContainer) (0...1000).forEach { index in let newItem = TestItem(uuid: UUID()) newModelContext.insert(newItem) } try? newModelContext.save() }
@AdelUI
@AdelUI 24 күн бұрын
Thanx for amazing video, but is it working also when i want to update data ?
@itsmichaldood
@itsmichaldood 24 күн бұрын
This was super clutch! Thanks again
@tundsdev
@tundsdev 22 күн бұрын
Glad it helped!
@flowBern
@flowBern 26 күн бұрын
Perfect. Please make more videos :D
@milanlabus1582
@milanlabus1582 27 күн бұрын
What if you had a model thats unrelated to the other models how would you specify that modelContainer
@AndyJMacLeod
@AndyJMacLeod Ай бұрын
With MVVM, SwiftData loses its advantages (data-binding, auto-refreshing views)… which is why I’m not using MVVM in my app. The trick to SwiftUI/SwiftData apps seems to be how to break views into small components, so there’s only a small bit of logic in each view. I do like that most of the logic ends-up in private functions, which must make SwiftData apps very secure.
@Mike-er2ih
@Mike-er2ih Ай бұрын
Hey @tundsdev Thanks for the vid. I do have a single doubt. When you are using a @MainActor annotation on func fetch() async {}. Does it not actually run the network request on the main thread?
@1987alejandroivan
@1987alejandroivan Ай бұрын
if let current = self.focusedInput, let next = Field(rawValue: current.rawValue + 1) { self.focusedInput = next } else { self.focusedInput = nil }
@lizzysophiebrown
@lizzysophiebrown Ай бұрын
been learning swift for a while now and always end up coming back to your videos, thank you for making things easy to follow. you're doing a fab job!
@AndyJMacLeod
@AndyJMacLeod Ай бұрын
Great stuff. It is was a bit fast for me to follow without pausing though…
@zeeshansuleman93
@zeeshansuleman93 Ай бұрын
Create some more videos on unit tests and dependency injection
@Echaront
@Echaront Ай бұрын
In Xcode 15.4, I am encountering errors at 7:05. The error reads: "Struct 'ViewBuilder' requires that 'EmptyTableRowContent<V>' conform to 'View'" and Static method 'buildExpression' requires that 'TextField<Text>' conform to 'TableRowContent'. It would be great if you could update the app using Xcode 15.4 for iOS 17.
@tundsdev
@tundsdev Ай бұрын
Hey can you download the final source code in the description box, i've ran project and the only thing that needs to be removed is the .nullify since there's no need to specify this anymore and also it's worth noting that this video was created when xcode 15 and swiftdata was still in beta.
@Echaront
@Echaront Ай бұрын
@@tundsdev fair enough. Thank you for your amazing content!
@user-tk8jw5bx4c
@user-tk8jw5bx4c Ай бұрын
CustomMenuStule in vision pro always be round rect
@federicoramos
@federicoramos Ай бұрын
I've been getting an exception "Thread 1: "The current model reference and the next model reference cannot be equal." Does anyone have a suggestion?
@ReddyMediaMarketing
@ReddyMediaMarketing Ай бұрын
do you do consulting? Could I pay you for a few hours of your time. Im a college student launching my app in 3 weeks and would love any feedback I could get! @tundsdev
@swayamrustagi7476
@swayamrustagi7476 Ай бұрын
Hey, I am proficient in SwiftUI, and recently got to know that major companies have their legacy code written in UIKit, should I migrate to UIKit? or stick to SwiftUI? I know that SwiftUI is the next big thing in iOS development, I am so confused, Would you please clear my doubts?
@ratatata6611
@ratatata6611 Ай бұрын
Subbed!
@wilcoxky
@wilcoxky Ай бұрын
Great course!