SwiftUI Tutorial: What's the difference between @State, @ObjectBinding, and @EnvironmentObject?

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ส.ค. 2024
  • If you want to understand how SwiftUI works with state, start here - this video walks you through how state works, why it matters, and how each of SwiftUI's state options work, all using hands-on code examples so you can see for yourself.
    For more information on SwiftUI, see my free online book SwiftUI By Example: www.hackingwithswift.com/quic...
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 238

  • @twostraws
    @twostraws  4 ปีที่แล้ว +9

    Watch next: How to fix slow List updates in SwiftUI - th-cam.com/video/h0SgafWwoh8/w-d-xo.html
    Questions? Comments? Tweet me @twostraws.

  • @simonbachmann2120
    @simonbachmann2120 4 ปีที่แล้ว +267

    IMPORTANT: ObjectBinding/BindableObject are deprecated now! @ObjectBinding is become @ObservedObject and BindableObject protocol is become ObservableObject as well as willChange become objectWillChange.

    • @niklasnickel
      @niklasnickel 4 ปีที่แล้ว +3

      Simon Bachmann Thank you so much! This indeed saved a lot of trouble...

    • @sreekumarmenon
      @sreekumarmenon 4 ปีที่แล้ว

      Was going to ask the same, I started swiftui recently and was confused with seeing ObjectBinding in this video! thanks

    • @MattiaRighetti
      @MattiaRighetti 4 ปีที่แล้ว +1

      I was going to ask when to use ObservableObject and BindableObject, thanks! 😊

    • @flexmcpee
      @flexmcpee 4 ปีที่แล้ว

      Ah that makes sense. Only started learning SwiftUI of late and was confused seeing those. Thanks for clearing up.

    • @LazarofShalev
      @LazarofShalev 3 ปีที่แล้ว

      thank you 👌

  • @abcd123906
    @abcd123906 3 ปีที่แล้ว +34

    If you are learning SwiftUI, you literally NEEEEED to watch this video! This scratched so many cognitive "itches" I had about Swift, it's almost scary. Thank you, thank you, thank you!

  • @frimpongopokuagyemang8052
    @frimpongopokuagyemang8052 3 ปีที่แล้ว +1

    Saying that this video is "HELPFUL" would be an understatement. However, I have no bigger words. LOL! In short, THANK YOU DUDE! The way you make things clear, is just something else.👌👌👌👌👌

  • @marlhex6280
    @marlhex6280 ปีที่แล้ว

    Please make more! I love the way you talk with passion and interest! Also the way you edit the videos with a final touch! Awesome job!!!

  • @JVancity
    @JVancity 5 ปีที่แล้ว +1

    Been messing around with all three for a few days now, getting things to 'work'! This video really hit the nail on the head and now I truly understand the why. Thanks Paul, you're a legend :)

  • @ZoeSummers1701A
    @ZoeSummers1701A ปีที่แล้ว

    I think this is the best tutorial video you’ve ever made.

  • @nexplusedinburgh5545
    @nexplusedinburgh5545 5 ปีที่แล้ว +4

    Wow! Best SwiftUI video in the whole TH-cam! Thank you!

  • @dhavalnena7386
    @dhavalnena7386 5 ปีที่แล้ว +1

    Every time I watch your videos it gives me a deeper understanding of the topic explained. Thank you so much!

  • @Nicolas-is3gq
    @Nicolas-is3gq 4 ปีที่แล้ว +1

    Excellent tutorial, I finally understand these concepts after trying a few other sources. Thanks Paul!

  • @AndreaCiani
    @AndreaCiani 4 ปีที่แล้ว +1

    This is the best video about this things I have ever watched. You make simple and more complicated examples and you describe them extremely well. Congrats and thanks!

  • @coolisfoolable
    @coolisfoolable 3 ปีที่แล้ว +1

    This is THE best tutorial I've seen so far! And boy I've seen many.
    Thanks Paul!

  • @JacksMacintosh
    @JacksMacintosh 5 ปีที่แล้ว +3

    Oh my goodness. This @EnvironmentObject thing might just save my life. Thank you thank you!

  • @brandonr.8784
    @brandonr.8784 ปีที่แล้ว

    Been stuck on these concepts for days, this video really help improve my understanding!

  • @JellyLancelot
    @JellyLancelot 4 ปีที่แล้ว

    These videos are soooooo good. Your teaching style is amazing and easy to follow, but not slow enough that I'm skipping around for the info. Clear, concise and concentrated. Superb! Also, you explain the WHY. It's so important, but what so many people miss.

  • @wizzards44
    @wizzards44 5 ปีที่แล้ว

    Paul you are smashing it again!!! Great breakdown of new tools!!!

  • @BroadcastYOzZelf
    @BroadcastYOzZelf 4 ปีที่แล้ว +1

    I'm used .Net's, old Xaml's and to Qt Qml's (super elegant) property bindings. I was exactly looking for an intro on how SwiftUI does this. You found the perfect level between giving an overview and going into detail. Thanks!

  • @uberunix
    @uberunix 3 ปีที่แล้ว +1

    This is an absolutely fantastic explanation for someone like me who doesn't know enough yet to distinguish the significant bits of what the docs are saying. Thank you so much! :D

  • @Mriceman2002
    @Mriceman2002 5 ปีที่แล้ว

    You explain very easily even without the help of your two
    dogs :) You are the best ! Hope you continue to make many more videos!

  • @1sndct
    @1sndct 3 ปีที่แล้ว

    Great explanation, been trying to grasp this concept for a loooooong time, its finally coming together. Thank you

  • @marcoespinoza3327
    @marcoespinoza3327 4 ปีที่แล้ว

    Stumbled upon your tutorials and explanations and it’s amazing. I am currently doing QA work and do some dev work too as I’m learning. However, this is preparing me for the future and I really appreciate your videos and explanations. I still want to transition from QA to dev because it’s more interesting but I know I have a while to go.

  • @dlbYT8
    @dlbYT8 2 ปีที่แล้ว

    Your content is gold. Thanks Paul!

  • @PeterPurmonen
    @PeterPurmonen 5 ปีที่แล้ว +2

    Excellent! All gaps flled. Thank you. 👍🏻

  • @kevin-u7719
    @kevin-u7719 3 ปีที่แล้ว

    I have saved 1 hour while watching you 20 minutes concrete and robust explanatory video. Thank you Paul.

  • @MatthewCawley
    @MatthewCawley 4 ปีที่แล้ว +1

    I've watched a few different videos on @State, @ObjectBinding and @EnvironmentObject and it didn't make that much sense. Your explanation was amazing, clear and high descriptive. Great job :)

  • @piyushgeorge1847
    @piyushgeorge1847 5 ปีที่แล้ว

    Best tutorial for the states. Loved it

  • @yixe2253
    @yixe2253 5 ปีที่แล้ว

    You're a great teacher, easy to understand.

  • @niklasnickel
    @niklasnickel 4 ปีที่แล้ว

    Thank you very much! This was the first time I really understood what was going on...

  • @torcelly
    @torcelly 2 ปีที่แล้ว

    Hi Paul. Thank you for this awesome video. Excellent tutorial. Your explanation is accurate, concise, and clear. Congrats!

  • @koz
    @koz 5 ปีที่แล้ว +8

    Absolutely great stuff. You're making my Swift-learning experience a lot clearer.
    I'm intrigued about "who taught you?" though.
    Because I get the feeling you had a good teacher.
    (This is where you say you're self-taught too)

  • @fortune1109
    @fortune1109 5 ปีที่แล้ว

    Hi Paul, thank you for the tutorials you are making. Helps me alot.

  • @shivammahendru6122
    @shivammahendru6122 3 ปีที่แล้ว

    Much needed explanation!! Thanks Paul

  • @thealchemist1480
    @thealchemist1480 5 ปีที่แล้ว

    This is well described and very helpful video indeed. Keep the good work up,,, you are doing a commendable job for the community.

  • @littletalk8860
    @littletalk8860 5 ปีที่แล้ว +3

    Great explanation, love your professional tutorial

  • @triXtyle
    @triXtyle 9 หลายเดือนก่อน

    Amazing video, teaches us core concept in a very good way. BUT The Victor Hugo reference nailed it!!!

  • @sergehulne
    @sergehulne 3 ปีที่แล้ว

    Excellent tutorial! Thanks!

  • @guitaripod
    @guitaripod 4 ปีที่แล้ว

    Now this now a year later, it's so clear. Thanks

  • @egormerkushev
    @egormerkushev 4 ปีที่แล้ว +1

    Thank you for this tutorial!

  • @oliverbarreto1838
    @oliverbarreto1838 5 ปีที่แล้ว +6

    Great great tutorial... first division university class... core concepts really well explained and introduced vía telling an incremental story... a must watch... Apple should absolutely use this video and upload it to SwiftUI developer library
    💪🏻😀😎

  • @dimiutube
    @dimiutube 4 ปีที่แล้ว

    Thanks for the great explanation, Paul! Now most of the magic behind SwiftUI is much clearer for me :-)

  • @nirb16
    @nirb16 3 ปีที่แล้ว

    Great explanation! Thank you

  • @rixantos
    @rixantos 8 หลายเดือนก่อน

    Great video @twostraws very well explained and delivered! Time to write some SwiftUI...

  • @vipullal7689
    @vipullal7689 3 ปีที่แล้ว

    Loved it! Clear tutorial.

  • @chrisual
    @chrisual 3 ปีที่แล้ว +3

    Much of this video is not appropriate anymore, but the description of what state, binding, etc are is TOTALLY worth watching. I have watched so many videos, but this is the first time I have understood these concepts. Well done Paul!!

    • @chezchezchezchez
      @chezchezchezchez 11 หลายเดือนก่อน

      I’m just getting started. What would you recommend is the perfect video right now for this information? Thank you very much.

  • @farkhodkh2760
    @farkhodkh2760 ปีที่แล้ว

    This is Great! Thank you Paul

  • @farukenstein
    @farukenstein 4 ปีที่แล้ว +1

    "please just stop and thnik for one moment how amazing that is" is the one possible definition when it comes to swiftui.

  • @francescofuscaldo2364
    @francescofuscaldo2364 5 ปีที่แล้ว +1

    Great videos, thank you so much. I'd like to suggest you a subject for the next videos, it would be great to see how to work with CoreData and SwiftUI!

  • @marcaupont9145
    @marcaupont9145 5 ปีที่แล้ว

    Great vid!! Love the explanations!

  • @doanvietios
    @doanvietios 5 ปีที่แล้ว +2

    I love SwiftUI n I love this Tutorial too. This is awesome.

  • @olepetersen4460
    @olepetersen4460 3 ปีที่แล้ว

    Another great video - thank you.

  • @muzikjay
    @muzikjay 2 ปีที่แล้ว

    Thank you so much for this!!

  • @alexanderfitterling
    @alexanderfitterling 3 ปีที่แล้ว

    Thank you so much for this video. You have amazing good teaching skills!

  • @arkemal
    @arkemal ปีที่แล้ว

    I've learned a lot from this. Thank you!

  • @user-xe4qm5bn6i
    @user-xe4qm5bn6i 6 หลายเดือนก่อน

    Just learning Swift.. this was really helpful. And I caught your bread and 24601 reference… Cheers for that one!!! 🥃

  • @max500k
    @max500k 3 ปีที่แล้ว

    Awesome video, super concise!

  • @pbalinov
    @pbalinov ปีที่แล้ว

    Great video! Thank you!

  • @ChristianLeovido
    @ChristianLeovido 4 ปีที่แล้ว

    Thank you so much, your explanation of these concepts is very clear

  • @kimsaypov162
    @kimsaypov162 3 ปีที่แล้ว

    Great explanation. Thanks.

  • @robertsan2654
    @robertsan2654 4 ปีที่แล้ว +1

    Being an iOS & React developer feels great with SwiftUI. :)

  • @TK-tg1hx
    @TK-tg1hx 3 ปีที่แล้ว

    You are really brilliant smart.... What a wonderful explain!? Thank you sooooo much!

  • @di_nerd_apps
    @di_nerd_apps 4 ปีที่แล้ว

    BEST EXPLANATIONS !! BIG UP!!!

  • @haraprasadsenapati6662
    @haraprasadsenapati6662 4 ปีที่แล้ว

    Awesome video Paul

  • @petersuvara
    @petersuvara 5 ปีที่แล้ว

    Paul, we generally keep state as a completely different place to the UI components themselves, this provides a layer between state/transport and UI.

  • @24Doggi
    @24Doggi 3 ปีที่แล้ว

    Nest video for a guy who comes from java and python. Thanks!

  • @jimscodecorner5108
    @jimscodecorner5108 2 ปีที่แล้ว

    Great video! Thank you

  • @MeteoraEra
    @MeteoraEra 4 ปีที่แล้ว

    Your videos are awesome man.

  • @ismailtosun3621
    @ismailtosun3621 5 ปีที่แล้ว

    Thatks for this cool video ! Great explanation.

  • @kaljsdlksjfd3286
    @kaljsdlksjfd3286 5 ปีที่แล้ว

    Thank you! Great work

  • @limtc
    @limtc 5 ปีที่แล้ว

    This is the best explanation so far! However, I do hope you can add in explanation of @Binding besides these 3.

  • @readmore2019
    @readmore2019 5 ปีที่แล้ว +1

    ~AMAZING~ This is SOOO helpful!!!

  • @greggy16d
    @greggy16d 5 ปีที่แล้ว +3

    This is priceless. Thank you

  • @SudipBhattacharyya
    @SudipBhattacharyya 3 ปีที่แล้ว

    Excellent. Thank you so much ☺️☺️👍

  • @koustav2008
    @koustav2008 5 ปีที่แล้ว

    EXCELLENT Explanation !!!

  • @andrevdw747
    @andrevdw747 4 ปีที่แล้ว +1

    What a clear explanation! Thanks! Also understandable for a beginner like me :-)

  • @SteemeX
    @SteemeX 4 ปีที่แล้ว

    You are cool! Total covering, thanks a lot

  • @tomtubbs6254
    @tomtubbs6254 5 ปีที่แล้ว +1

    Thanks Paul - great visuals for the video along with your clear instruction.
    +1 for the request for a basic Swifty I app that uses core data.

  • @ac12484
    @ac12484 2 ปีที่แล้ว

    Best no bs intro (experienced programmer here)

  • @kimtipatel7
    @kimtipatel7 ปีที่แล้ว

    U r superb explaining ❤

  • @lvkd_
    @lvkd_ 5 ปีที่แล้ว

    Awsome Teacher.. thank you for your great lecture

  • @AttilioPatania
    @AttilioPatania 4 ปีที่แล้ว

    thanks so much for this explanation, it works well to understands the way these annotations works, also if now the Object binding pattern is changed since the video was @published :)

  • @shivaskanthan6144
    @shivaskanthan6144 4 ปีที่แล้ว

    Excellent explanation!

  • @alondob
    @alondob 5 ปีที่แล้ว

    Great explanation!

  • @sajjadkharrazi6370
    @sajjadkharrazi6370 5 ปีที่แล้ว

    fantastic tutorial. great

  • @jacks-projects5238
    @jacks-projects5238 3 ปีที่แล้ว

    This is a superb video.

  • @mistermagic4507
    @mistermagic4507 4 ปีที่แล้ว

    Finally my company decided to start the next project using SwiftUI on iOS 13 and here I am, BOOOM :)

  • @viettrungphan9770
    @viettrungphan9770 5 ปีที่แล้ว

    Thanks for your tutorial

  • @chillybean9662
    @chillybean9662 5 ปีที่แล้ว

    tchai! that was clear and refreshing.

  • @anandmishra3926
    @anandmishra3926 3 ปีที่แล้ว

    Love❤️ this Video.

  • @hilalalhakani9139
    @hilalalhakani9139 3 ปีที่แล้ว

    Great explanation

  • @SudaraF
    @SudaraF 5 ปีที่แล้ว

    Very good explanation, learnt a lot 👍

  • @charlesbessonnet2693
    @charlesbessonnet2693 4 ปีที่แล้ว

    really great video 👍

  • @pogosanesyan9999
    @pogosanesyan9999 4 ปีที่แล้ว

    Very good material thanks

  • @SehajChawla
    @SehajChawla 5 ปีที่แล้ว +3

    Love all your tutorials. Would be great to have in depth tutorials on Combine framework as well.

  • @johnnyl7818
    @johnnyl7818 4 ปีที่แล้ว

    Thank you!

  • @rickywitherspoon2861
    @rickywitherspoon2861 5 ปีที่แล้ว

    Awesome tutorial

  • @cularu1
    @cularu1 5 ปีที่แล้ว

    Very cool! Much simpler than managing state in android.

  • @tairakhmetov9163
    @tairakhmetov9163 5 ปีที่แล้ว

    Awesome, just awesome!

  • @idembele
    @idembele 5 ปีที่แล้ว

    5:46 beautiful example on how @State keyword works

  • @olepetersen4460
    @olepetersen4460 3 ปีที่แล้ว +3

    You make really great videos, and thank you for that. Regarding this one: My projects have no SceneDelegate, so an update would be highly appreciated. Where and how do you set up the global varible in the .app file?

  • @ps1kx
    @ps1kx 4 ปีที่แล้ว

    Awesome explanations! Nothing else to say :-D