SwiftUI Grids Columns with JSON ObservableObject and Async Image Loading

  Рет қаралды 30,443

Lets Build That App

Lets Build That App

3 жыл бұрын

Build out a Grid with multiple columns and consume JSON with ObservableObject view models. Furthermore, we'll load images using KingFisher for SwiftUI.
Maps UIKit Swift:
www.letsbuildthatapp.com/cour...
Fullstack Social NodeJS iOS HTML:
www.letsbuildthatapp.com/cour...
AppStore JSON APIs
www.letsbuildthatapp.com/cour...
Tinder Firestore Swipe and Match
www.letsbuildthatapp.com/cour...
Podcasts Course
www.letsbuildthatapp.com/cour...
Facebook Group
/ 1240636442694543
Completed Source Code
www.letsbuildthatapp.com/cour...
Instagram: / buildthatapp
Twitter: / buildthatapp

Пікірлер: 95
@jcubedapps5256
@jcubedapps5256 3 жыл бұрын
I'm loving SwiftUI right now and can't wait for it to become more mature. This year's changes were a great step in that direction.
@c.m.8146
@c.m.8146 3 жыл бұрын
Just what I was looking for ! Thank you so much for these amazing uploads.
@ClintonSiegel
@ClintonSiegel Жыл бұрын
Love these tutorials! Thanking for sharing your mindset, approach and testing! Incredibly helpful and and applicable. Grateful!
@jamesssssss
@jamesssssss 3 жыл бұрын
I'm liking this new uploading pace!
@xxfkee
@xxfkee 3 жыл бұрын
Thanks for a new video tutorial! I like your step-by-step approach to your video tutorial.
@youbaraj.p8297
@youbaraj.p8297 Жыл бұрын
Always a awesome instructor.. Thank you.
@gauravthakkar802
@gauravthakkar802 3 жыл бұрын
I love how you can come and say I don't know about this . I can never do that in public And also for helping me with the "SwiftUI has no place to do the network call" (You can use the onAppear solution but it isn't what you always want to do) The concept you explained was beautifully done
@cruiseqe2
@cruiseqe2 3 жыл бұрын
Brilliant video. Very understandable. Keep up the great work.
@wensmusic8636
@wensmusic8636 2 жыл бұрын
youre so talented, thank you for taking your time to teach us all of this
@mmcanhaoable
@mmcanhaoable 3 жыл бұрын
This video was amazing, you helped me so much, thanks
@vamsi3877
@vamsi3877 3 жыл бұрын
No one can explain step by step like you
@tomerpeled1277
@tomerpeled1277 3 жыл бұрын
Another great great video
@joobinangali
@joobinangali 3 жыл бұрын
Excellent Course. TnX
@dev_jeongdaeri
@dev_jeongdaeri 3 жыл бұрын
Thanks for sharing your knowledge👍
@JosCuts
@JosCuts 2 жыл бұрын
Don’t forget to give this man all the likes he deserves !!
@MrPaulHuynh
@MrPaulHuynh 9 ай бұрын
Youre the best thanks man!
@muradanowar2618
@muradanowar2618 3 жыл бұрын
You are the Best ...........👍👍👍👍👍Thanks.
@mcnimi
@mcnimi 3 жыл бұрын
that's cool. i actually had to write my first react native app last month so i'm really excited about declarative programming also in iOS.
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
Yes we’ve been writing declarative for the last 5 years. Good that iOS has finally caught up
@smackaroony
@smackaroony 3 жыл бұрын
boy wonder is back for good
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
Da man is back
@angristan
@angristan 3 жыл бұрын
Thank you 🙏
@emmanuelpregnolato5026
@emmanuelpregnolato5026 3 жыл бұрын
Hello Brian, great great work. I had to add DispatchQueue.main.async { self.results = rss.feed.results } so XCode wont complain about not being on the main thread.
@slaouiffyt2943
@slaouiffyt2943 3 жыл бұрын
Thank you so much !
@KSwizzleDrizzle
@KSwizzleDrizzle 3 жыл бұрын
Woo new video! Hey Brian, you think you will ever make a course with Unit Testing? I've been interviewing for entry level iOS positions and so many companies want you to have that experience. I've been reading up on it, but still have trouble creating/applying unit tests to my own projects. They're really aren't a lot of youtubers applying unit tests to their projects.
@kshitijakanase498
@kshitijakanase498 3 жыл бұрын
Hey Brain, I just wanted to suggest that you make a video showing the sequence of the videos you have made on YT also tell us the sequence in which a new student should start watching the videos . I wanted to see the videos right from the beginning and since there are so many of them its kindof confusing .
@user-zk1ub6uf7d
@user-zk1ub6uf7d 3 жыл бұрын
Your lessons awesome! Maybe you have a lesson about viper methodology?
@immanueldiaz5710
@immanueldiaz5710 3 жыл бұрын
When a video with Swift UI and Combine? :D amazing work!
@anshwadhwa
@anshwadhwa 3 жыл бұрын
bulid line app in kotlin love your vids
@gastondipierro
@gastondipierro 3 жыл бұрын
Thanks!!!
@mazensaleh689
@mazensaleh689 3 жыл бұрын
I've always found iOS development so hard. This year I focussed on improving my Frontend development skills (mainly using reactjs) and it just seems like swiftui has become way easier to understand/mature.
@billyanderson2218
@billyanderson2218 3 жыл бұрын
I hope u make video on ios clean architecture, all explanation easy to be learn thanks brian
@arminspahic6562
@arminspahic6562 3 жыл бұрын
Hey Brian awesome video great job. It would be great if you could post some tutorials regarding animations. I am pretty curious how different animations can be handled with swiftUI framework. Thanks :)
@gauravthakkar802
@gauravthakkar802 3 жыл бұрын
I also wanted to know if we need to see for changes to internet connectivity in a production level app
@xserp3nt
@xserp3nt 3 жыл бұрын
Great tutorial. Xcode complained about setting the published array of Applications off the main thread.. so I changed the JSON request to be more "SwiftUI/Combine ish" by making the request: URLSession.shared.dataTaskPublisher(for: url) .map(\.data) .decode(type: RSS.self, decoder: JSONDecoder()) .map { feed -> [Application] in return feed.feed.results } .replaceError(with: []) .receive(on: DispatchQueue.main) .assign(to: \.apps, on: self) .store(in: &cancellables)
@gauravthakkar802
@gauravthakkar802 3 жыл бұрын
Key takeaways from the video: 1.How and where to make a network call in the new SwiftUI Lifecycle based App 2. Why you should have a viewmodel in your app 3. Using KingFisher in your app (I'd really like to see the animation stuff when the image loads to be added by the dev for swiftui) 4. Serializing JSON selectively in a SwiftUI app and using the Codable, Hashable protocols
@jwenaposse305
@jwenaposse305 3 жыл бұрын
Love this video. Is it also possible to use a struct and @State for your data model array? I know that classes should be used for more complex non-primitive data.. but what if we would be dealing with an array of ints or bools, also fetched remotely from a server.. I am trying to understand when to use the @observableObject / class route versus @State / struct. Thank you for any insight in this matter.
@andrejkling3886
@andrejkling3886 3 жыл бұрын
Gratitude....
@alexthewebdesigner1856
@alexthewebdesigner1856 3 жыл бұрын
@Lets Build That App Are you gonna be making some videos on how to build clone apps in SwiftUI, like Uber and IG, for example? I'm in the early stages of learning iOS development and after hearing your comments near the end of your "Swift Grid Columns With JSON" video I have made up my mind that, contrary to what I've been told repeatedly, learning UIKit and storyboards would be a waste of my time. By the way... great videos Sir!
@brxntrxn
@brxntrxn 3 жыл бұрын
Hopefully Professah Brain is doing well (O_O)
@westsideskateshop564
@westsideskateshop564 3 жыл бұрын
Only the real fans know lmao
@nicoleemiliennicolas7806
@nicoleemiliennicolas7806 3 жыл бұрын
8
@giorodri0584
@giorodri0584 3 жыл бұрын
Question: I see that you mostly use scrollview. Is there any advantages over list? If you have 1000 items the scrollview will load all at once but with list they get recycled.
@gtur28
@gtur28 3 жыл бұрын
The LazyVGrid will lazily load content regardless if it is in a ScrollView or not.
@hlbricks1791
@hlbricks1791 3 жыл бұрын
Hey After I am done decoding and run it I get a blank project.
@NTuneLabs
@NTuneLabs 2 жыл бұрын
Awesome. Can you call the data from a downloaded JSON file that could reside in the app itself? If so, how would that work?
@rafaeashraf605
@rafaeashraf605 3 жыл бұрын
yo Brian any new courses comin out?
@tariqAlmazyad
@tariqAlmazyad 3 жыл бұрын
Hey Brain , I hope you are doing well . I hope you can do a demo in tableview on how : 1- How to populate diff UIs in diff sections within diff cells only using 1 UITableViewCell let us say for example you want to show in - (0,0) : ImageView , labels - (1,0) : another label - (1,1) : UIBottun - (1,2) : another label - (1,3) : another imageView - (2,0) : UItextfield . and you get what I mean using an enum or a viewModel to make the tableView scalable and robust . not sure if this could be solved by using only 1 UITableViewCell . and Thank you .
@akashrevanna5327
@akashrevanna5327 3 жыл бұрын
Hi can i get suggestion on buying new M1 macbook? Should I buy air base model or go with pro for iOS development?
@AadilShaik
@AadilShaik 3 жыл бұрын
Hi can you give some tutorial on tracking alphabet, number or path as similar to kids learning app. I really appreciate all your stuff.
@bradenallred4204
@bradenallred4204 2 жыл бұрын
I watched almost the whole thing because wanted to create a search bar for the item. when is the search video coming?
@kenturnbull9679
@kenturnbull9679 2 жыл бұрын
Is it possible to build out the columns array with a ForEach Loop (ForEach(1..3)) in the same fashion as you build the rows array?
@desarrollomercasy9302
@desarrollomercasy9302 3 жыл бұрын
Amazing man what is the difference if we use @ObservableObject in the view or if we use @StateObject?
@wilmerbarrios4672
@wilmerbarrios4672 3 жыл бұрын
@Brian, I'm very interested on CI/CD and testing, Do you have any course for this? if it is not the case, do you have any plans for this? I wouldn't have any problem with paying a course of this topic taught by you.
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
Yeah it takes an entirely different mindset to be really good at CI CD. Unfortunately I haven’t had the time to go in-depth with these topics to the level where I’m comfortable teaching it. I can setup jobs and run automated testing with many build machines but not sure how to teach this.
@christostsangaris4785
@christostsangaris4785 3 жыл бұрын
@Brian: SDWebImage vs. Kingfisher: Any reason switching to KingFisher?
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
Both work great, I'm sure you'll be fine with either one.
@matim9517
@matim9517 3 жыл бұрын
Hi! thanks, brian. I just finish the whole app. I have just one error which is from self.results = rss.feed.results. Publishing changes from background threads is not allowed; make sure to publish values from the main thread (via operators like receive(on:)) on model updates. anybody know how to fix it?? thanks!!!
@l.carlosguerra3087
@l.carlosguerra3087 2 жыл бұрын
I got the same error, did u solve it?
@pinguinchieftain8757
@pinguinchieftain8757 3 жыл бұрын
Hi Brian. I'm stuck with one question. Can you help me? "isEqual"method and operator "===" identical? Which one to use is a matter of taste or are there nuances?
@pinguinchieftain8757
@pinguinchieftain8757 3 жыл бұрын
@@bvcosi135 doubles are struct. The === operator can only be applied to reference data types, so x === y will not return false and the compiler will report an error
@mhasni2813
@mhasni2813 3 жыл бұрын
Can u suggest me your videos to build a own app by myself
@NamNguyen-yb6lz
@NamNguyen-yb6lz 3 жыл бұрын
Hi I am planning to create 4 apps to manage the flow of clients in a particular salon: - one for clients to order the services, it will send orders to receptionist app - one for receptionist to sign in clients services order, it will send order services to manager app - one for manager to appoint technicians to do clients services . And it will send order to technician app. - one for technicians to show the services so they know what to do. It will send complete services back to receptionist app to help checkout. Where do I start to create this systems?
@christianbearden8849
@christianbearden8849 3 жыл бұрын
Can you link a JSON file in FB Storage with combine?
@slaouiffyt2943
@slaouiffyt2943 3 жыл бұрын
For everything
@Vinay-xd7du
@Vinay-xd7du 3 жыл бұрын
Hey Brain.. your videos are very clear and most advanced, thank you for sharing the knowledge. I have a question regarding Flutter.(I know this question is irrelevant to this video sorry for that). I have an app idea(kind of news app) and I would like to develop in Flutter. Whats your thought on this? Is React Native is better than Flutter? If possible kindly explain the what is best architecture for Flutter apps?
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
I’m getting trolled by flutter and RN questions in 2020. Can’t believe it
@pulkitrock
@pulkitrock 3 жыл бұрын
@@LetsBuildThatApp Yeah right 😁 but we can get your opinion 🙄
@GameCrawl
@GameCrawl 3 жыл бұрын
Yeah, new course SwiftUI Mastery Travel Discovery is up in www.letsbuildthatapp.com/course_video?id=6752 and I have just purchased!
@joe0212
@joe0212 3 жыл бұрын
Why don’t you have a subscription model for your site that would be great to have... and you will get more customers as well from places like India
@30guarino
@30guarino 3 жыл бұрын
Question: Are you moving on from UIKit/ LBTA Tools tutorials/ contracts and if not, how are you able to retain that information moving forward?
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
For newer projects that don't require ios13 support, I typically use mostly SwiftUI.
@30guarino
@30guarino 3 жыл бұрын
@@LetsBuildThatApp Next Video: How to prevent information overload when learning coding......5 million views!
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
Well the preview panel helps a lot. Structuring your codebase neatly also does wonders when revisiting features.
@narenderchaudhary6145
@narenderchaudhary6145 3 жыл бұрын
How to search items in grid column ? When the next video comes?
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
You can follow the previous video to see how search is implemented.
@stunnaman8803
@stunnaman8803 3 жыл бұрын
Sir please how do I contact you
@---ml4jd
@---ml4jd 3 жыл бұрын
2 months no upload?
@curt8806
@curt8806 3 жыл бұрын
Aw damn. How do you search.. :(
@user-rm4wj8wx1y
@user-rm4wj8wx1y 3 жыл бұрын
缜醭鹾
@kaankoc9610
@kaankoc9610 3 жыл бұрын
I got my first job at a business company a few months ago and decided to build that app using swiftui. ngl it's been a pain in my ass. the navigations link, bar hidden situations jacking up ui etc etc but I love it regardles because i hate UIKit lol
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
Agree to all the issues you mentioned. UIKit offers much more control, but is a huge headache to write.
@kaankoc9610
@kaankoc9610 3 жыл бұрын
@@LetsBuildThatApp I like your videos a lot! thanks for the reply. much love, gonna buy your course one day.
@user-hi8uh6eh3f
@user-hi8uh6eh3f 3 жыл бұрын
@@LetsBuildThatApp y
@bruhmoment3731
@bruhmoment3731 3 жыл бұрын
49:25 this didn't age well :( not sure if the wildfire is affecting where you live, but I hope you're doing well
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
Who woulda thought the apocalypse would come this soon after publishing this video.
@eldarkk4566
@eldarkk4566 3 жыл бұрын
where is your i9 9900k mate ?
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
Right here
@penguimTwo
@penguimTwo 3 жыл бұрын
Brian the roblox enthusiast
@clerdsonjuca3823
@clerdsonjuca3823 3 жыл бұрын
like
@elviss911
@elviss911 3 жыл бұрын
SWIFT UI 2.0??
@LetsBuildThatApp
@LetsBuildThatApp 3 жыл бұрын
It’s Xcode 12
Swift API Calls for Beginners (Networking) - Async Await & JSON
25:35
5 Steps to Better SwiftUI Views
31:19
Paul Hudson
Рет қаралды 55 М.
World’s Deadliest Obstacle Course!
28:25
MrBeast
Рет қаралды 151 МЛН
Получилось у Вики?😂 #хабибка
00:14
ХАБИБ
Рет қаралды 6 МЛН
Heartwarming: Stranger Saves Puppy from Hot Car #shorts
00:22
Fabiosa Best Lifehacks
Рет қаралды 11 МЛН
Khóa ly biệt
01:00
Đào Nguyễn Ánh - Hữu Hưng
Рет қаралды 21 МЛН
You might not need useEffect() ...
21:45
Academind
Рет қаралды 152 М.
Don't throw exceptions in C#. Do this instead
18:13
Nick Chapsas
Рет қаралды 251 М.
Async Image in iOS 15 for SwiftUI | Bootcamp #54
12:25
Swiftful Thinking
Рет қаралды 14 М.
SwiftUI Fetching JSON and Image Data with BindableObject
22:21
Lets Build That App
Рет қаралды 45 М.
I BEAT HANS NIEMANN!!!!!!!!!!!
24:55
GothamChess
Рет қаралды 350 М.
8 Common SwiftUI Mistakes - and how to fix them!
28:05
Paul Hudson
Рет қаралды 49 М.
Erdős-Woods Numbers - Numberphile
14:12
Numberphile
Рет қаралды 117 М.
World’s Deadliest Obstacle Course!
28:25
MrBeast
Рет қаралды 151 МЛН