SwiftUI Grids Columns with JSON ObservableObject and Async Image Loading

Поделиться
HTML-код
  • Опубликовано: 15 сен 2024
  • 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.letsbuildt...
    Fullstack Social NodeJS iOS HTML:
    www.letsbuildt...
    AppStore JSON APIs
    www.letsbuildt...
    Tinder Firestore Swipe and Match
    www.letsbuildt...
    Podcasts Course
    www.letsbuildt...
    Facebook Group
    / 1240636442694543
    Completed Source Code
    www.letsbuildt...
    Instagram: / buildthatapp
    Twitter: / buildthatapp

Комментарии • 95

  • @jcubedapps5256
    @jcubedapps5256 4 года назад +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.

  • @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

  • @xxfkee
    @xxfkee 4 года назад +1

    Thanks for a new video tutorial! I like your step-by-step approach to your video tutorial.

  • @ClintonSiegel
    @ClintonSiegel 2 года назад

    Love these tutorials! Thanking for sharing your mindset, approach and testing! Incredibly helpful and and applicable. Grateful!

  • @youbaraj.p8297
    @youbaraj.p8297 Год назад

    Always a awesome instructor.. Thank you.

  • @c.m.8146
    @c.m.8146 3 года назад +1

    Just what I was looking for ! Thank you so much for these amazing uploads.

  • @vamsi3877
    @vamsi3877 4 года назад

    No one can explain step by step like you

  • @wensmusic8636
    @wensmusic8636 2 года назад

    youre so talented, thank you for taking your time to teach us all of this

  • @JosCuts
    @JosCuts 3 года назад

    Don’t forget to give this man all the likes he deserves !!

  • @mmcanhaoable
    @mmcanhaoable 4 года назад +1

    This video was amazing, you helped me so much, thanks

  • @cruiseqe2
    @cruiseqe2 4 года назад

    Brilliant video. Very understandable. Keep up the great work.

  • @jamesssssss
    @jamesssssss 4 года назад

    I'm liking this new uploading pace!

  • @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.

  • @KSwizzleDrizzle
    @KSwizzleDrizzle 4 года назад +2

    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 года назад +2

    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 .

  • @smackaroony
    @smackaroony 4 года назад +1

    boy wonder is back for good

  • @dev_jeongdaeri
    @dev_jeongdaeri 4 года назад

    Thanks for sharing your knowledge👍

  • @muradanowar2618
    @muradanowar2618 3 года назад

    You are the Best ...........👍👍👍👍👍Thanks.

  • @unrelentingdraco
    @unrelentingdraco 4 года назад +17

    Hopefully Professah Brain is doing well (O_O)

  • @tomerpeled1277
    @tomerpeled1277 3 года назад

    Another great great video

  • @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)

  • @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?

  • @mcnimi
    @mcnimi 4 года назад

    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  4 года назад

      Yes we’ve been writing declarative for the last 5 years. Good that iOS has finally caught up

  • @MrPaulHuynh
    @MrPaulHuynh 11 месяцев назад

    Youre the best thanks man!

  • @matim9517
    @matim9517 3 года назад +1

    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!!!

  • @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

  • @anshwadhwa
    @anshwadhwa 3 года назад

    bulid line app in kotlin love your vids

  • @giorodri0584
    @giorodri0584 4 года назад +1

    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 4 года назад +1

      The LazyVGrid will lazily load content regardless if it is in a ScrollView or not.

  • @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.

  • @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?

  • @user-zk1ub6uf7d
    @user-zk1ub6uf7d 3 года назад

    Your lessons awesome! Maybe you have a lesson about viper methodology?

  • @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.

  • @joobinangali
    @joobinangali 4 года назад

    Excellent Course. TnX

  • @gauravthakkar802
    @gauravthakkar802 3 года назад

    I also wanted to know if we need to see for changes to internet connectivity in a production level app

  • @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?

  • @billyanderson2218
    @billyanderson2218 3 года назад

    I hope u make video on ios clean architecture, all explanation easy to be learn thanks brian

  • @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!

  • @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?

  • @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

  • @rafaeashraf605
    @rafaeashraf605 4 года назад +1

    yo Brian any new courses comin out?

  • @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?

  • @immanueldiaz5710
    @immanueldiaz5710 3 года назад

    When a video with Swift UI and Combine? :D amazing work!

  • @hlbricks1791
    @hlbricks1791 4 года назад

    Hey After I am done decoding and run it I get a blank project.

  • @angristan
    @angristan 3 года назад

    Thank you 🙏

  • @desarrollomercasy9302
    @desarrollomercasy9302 3 года назад

    Amazing man what is the difference if we use @ObservableObject in the view or if we use @StateObject?

  • @WillBTech
    @WillBTech 4 года назад

    @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  4 года назад +1

      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.

  • @arminspahic6562
    @arminspahic6562 4 года назад

    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 :)

  • @tariqAlmazyad
    @tariqAlmazyad 4 года назад

    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 .

  • @slaouiffyt2943
    @slaouiffyt2943 3 года назад

    Thank you so much !

  • @christostsangaris4785
    @christostsangaris4785 4 года назад

    @Brian: SDWebImage vs. Kingfisher: Any reason switching to KingFisher?

    • @LetsBuildThatApp
      @LetsBuildThatApp  4 года назад +1

      Both work great, I'm sure you'll be fine with either one.

  • @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.

  • @andrejkling3886
    @andrejkling3886 3 года назад

    Gratitude....

  • @christianbearden8849
    @christianbearden8849 3 года назад

    Can you link a JSON file in FB Storage with combine?

  • @30guarino
    @30guarino 4 года назад

    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  4 года назад

      For newer projects that don't require ios13 support, I typically use mostly SwiftUI.

    • @30guarino
      @30guarino 4 года назад

      @@LetsBuildThatApp Next Video: How to prevent information overload when learning coding......5 million views!

    • @LetsBuildThatApp
      @LetsBuildThatApp  4 года назад

      Well the preview panel helps a lot. Structuring your codebase neatly also does wonders when revisiting features.

  • @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!

  • @mhasni2813
    @mhasni2813 3 года назад

    Can u suggest me your videos to build a own app by myself

  • @joe0212
    @joe0212 4 года назад

    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

  • @gastondipierro
    @gastondipierro 4 года назад

    Thanks!!!

  • @slaouiffyt2943
    @slaouiffyt2943 3 года назад

    For everything

  • @Vinay-xd7du
    @Vinay-xd7du 4 года назад

    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  4 года назад

      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 🙄

  • @curt8806
    @curt8806 3 года назад

    Aw damn. How do you search.. :(

  • @stunnaman8803
    @stunnaman8803 4 года назад

    Sir please how do I contact you

  • @penguimTwo
    @penguimTwo 4 года назад

    Brian the roblox enthusiast

  • @eldarkk4566
    @eldarkk4566 3 года назад

    where is your i9 9900k mate ?

  • @bruhmoment3731
    @bruhmoment3731 4 года назад

    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  4 года назад

      Who woulda thought the apocalypse would come this soon after publishing this video.

  • @narenderchaudhary6145
    @narenderchaudhary6145 4 года назад

    How to search items in grid column ? When the next video comes?

    • @LetsBuildThatApp
      @LetsBuildThatApp  4 года назад

      You can follow the previous video to see how search is implemented.

  • @kaankoc9610
    @kaankoc9610 4 года назад

    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  4 года назад +1

      Agree to all the issues you mentioned. UIKit offers much more control, but is a huge headache to write.

    • @kaankoc9610
      @kaankoc9610 4 года назад

      @@LetsBuildThatApp I like your videos a lot! thanks for the reply. much love, gonna buy your course one day.

    • @باسممحمد-ث1ص
      @باسممحمد-ث1ص 4 года назад

      @@LetsBuildThatApp y

  • @---ml4jd
    @---ml4jd 3 года назад

    2 months no upload?

  • @杨阳-e7u
    @杨阳-e7u 4 года назад

    缜醭鹾

  • @elviss911
    @elviss911 4 года назад

    SWIFT UI 2.0??

  • @clerdsonjuca3823
    @clerdsonjuca3823 4 года назад

    like