iOS 13 Swift Tutorial: Combine Framework - A Practical Introduction with UIKit

  Рет қаралды 65,476

Brian Advent

Brian Advent

Күн бұрын

Пікірлер: 61
@dream_emulator
@dream_emulator Жыл бұрын
This is phenomenally well explained 👌
@Raptor-jv7fi
@Raptor-jv7fi 4 жыл бұрын
I don’t even use UIKit and I understood it clearly. Awesome tutorial.
@followerOfJesus723
@followerOfJesus723 3 жыл бұрын
I'm just now getting started with combine and reactive programming. This is a great way to get my feet wet. Thanks.
@mahfuzurrahman4517
@mahfuzurrahman4517 11 күн бұрын
beautiful explanation , thanks 👍
@dimiutube
@dimiutube 4 жыл бұрын
Thanks for the very useful explanation. I've watched the video a few months ago and didn't understand the advantages of Combine. But now everything makes perfectly sense!
@roshanthapa25
@roshanthapa25 2 жыл бұрын
Awesome video for quick understanding.
@laxlyfters8695
@laxlyfters8695 5 жыл бұрын
I have never put nutmeg into mashed potatoes. I will try it next time.
@arno.claude
@arno.claude 4 жыл бұрын
Most important lesson learned from this video
@hollytian7576
@hollytian7576 3 жыл бұрын
😂
@ccalderon9
@ccalderon9 3 жыл бұрын
Came here for Combine. Stayed for the cooking tips.
@kelvinfok
@kelvinfok 5 жыл бұрын
High quality video and high quality teaching! Thank you so much :)
@alimehmood8654
@alimehmood8654 Жыл бұрын
still very helpful video in 2023
@GetSwifty
@GetSwifty 3 жыл бұрын
Super decent tutorial with plenty of graphics.
@jorgeantoniomr3526
@jorgeantoniomr3526 4 жыл бұрын
Awesome introduction, you helped me a lot!! thanks!!!
@rogerpinto4
@rogerpinto4 4 жыл бұрын
Super simple explanation! Really nice tutorial 👏
@andrejkling3886
@andrejkling3886 3 жыл бұрын
Thank you very much for Amazing lesson
@yagniksuthar8740
@yagniksuthar8740 3 жыл бұрын
you making such a great video can you make it more for combine framework.
@pradeepkumar5359
@pradeepkumar5359 4 жыл бұрын
Hi Brain Advent great video on combine framework where even apple docs are cumbersome about combine but you explained clearly about the necessity of framework. Can you do more videos on combine that includes debounce clasess.
@vipullal7689
@vipullal7689 3 жыл бұрын
Great video! Thanks
@willasaskara
@willasaskara 4 жыл бұрын
thanks! i was looking for this
@ericcoleman2288
@ericcoleman2288 4 жыл бұрын
Great explanation!
@waseemasif100
@waseemasif100 2 жыл бұрын
very good video.I guess tutorials should be that simple and concise as you have used UIKit for your demo.Create other videos with UIKit as most of developers not switched to SwiftUI
@filipvabrousek6900
@filipvabrousek6900 3 жыл бұрын
Thanks so much!
@gogoqaz
@gogoqaz 4 жыл бұрын
Great tutorial! good job
@chooseyourfuturebeforeitch7453
@chooseyourfuturebeforeitch7453 3 жыл бұрын
Have problems following your code Referencing instance method 'sink(receiveValue:)' on 'Publisher' requires the types 'Publishers.Filter.Failure' (aka 'WeatherError') and 'Never' be equivalent
@mattlarsen
@mattlarsen 3 жыл бұрын
I saw this same error on my code when I ran it and changed it to the alternate: let weatherPublisher = PassThroughSubject() ...which worked, but see comments below for a better solution.
@jbee1263
@jbee1263 5 жыл бұрын
Lemme ask maybe a kinda odd question. Why would you do this? When you could simply do sendButton.isEnabled.toggle() in the IBAction of the switch. I understand your demonstrating Combine. I get that. And maybe that is the answer, but. Beyond that, and making this a bit more real. What is the benefit of it in this case. Over doing just the one line of toggle?
@jackshephard7920
@jackshephard7920 5 жыл бұрын
I think it's just a matter of programming style. Using combine is some kinda of declarative, however, your style is imperative.
@trentguillory9808
@trentguillory9808 4 жыл бұрын
I too was asking myself the same question. For such a simple use-case, you wouldn't normally do this. This form of declarative programming is only useful if you know you're working on a view that has several states defined by more than one input. In that case, Combine would be great - it'd figure out how to render your view rather than you having to trust your own brain capacity to account for each case.
@Mar444_
@Mar444_ 3 жыл бұрын
Update for the sink modifier: add receive completion parameter if compiler is showing error ---> "Referencing instance method 'sink(receiveValue:)' on 'Publisher' requires the types" 👌🏾 .sink(receiveCompletion: { _ in print("process complete") }, receiveValue: { value in print("A summer day of \(value) Celcius") })
@wongacid
@wongacid 3 жыл бұрын
Thanks Man, finally it works after i add receivecompletion
@mattlarsen
@mattlarsen 3 жыл бұрын
Trial-and-error showed the original code worked by changing let weatherPublisher = PassthroughSubject() into let weatherPublisher = PassthroughSubject() but I'm not wise enough to know if this is a good idea.
@BroNo3man
@BroNo3man 5 жыл бұрын
Thank you for this tutorial. But : are you sure a publisher can have only one subscriber ? Cuz i tested with multiple subscribers and it seams working fine. with both sink and assign.
@MrMcSwiftface
@MrMcSwiftface 5 жыл бұрын
Yeah I thought that too!
@developerdiaries5926
@developerdiaries5926 4 жыл бұрын
Nice, but this is something we could have done with a property observer and Notification Center observer. Is it just because the task demonstrated here was too simple to warrant the Combine framework, or is there more to it than just this?
@w0mblemania
@w0mblemania 4 жыл бұрын
It was just an example. Combine shows its power when you need to use operators and different types of subscribers to, well, "combine" streams. e.g. setting a Label based on many different, asynchronous inputs. Such as in a Login screen, or as a result of multiple network operations.
@jasondhindsa6774
@jasondhindsa6774 4 жыл бұрын
Excellent example! A bit confusing though! I thought Subscribers had to be reference types.
@HarshitKumar-yn8du
@HarshitKumar-yn8du 3 жыл бұрын
Thanks Brian, where can I get source code?
@setoelkahfi
@setoelkahfi 3 жыл бұрын
Can you please add space after the variable name?
@guruitcompany
@guruitcompany 5 жыл бұрын
Thank you 👍
@rondamon4408
@rondamon4408 4 жыл бұрын
IT seems that RxSwft will be deprecated soon with this Combine framework.
@w0mblemania
@w0mblemania 4 жыл бұрын
A lot of companies still require iOS 12, and will do so for a few more years. For that, they need RxSwift. But yes, for greenfield projects, Combine is the way to go.
@drct
@drct 5 жыл бұрын
Xcode 11 beta 7: .sink is only available when Failure is Never
@ZhouHaibo
@ZhouHaibo 4 жыл бұрын
@DRCT, that error means that the 1st closure in Sink(receiveCompletion:) is not implemented.
@TanTran-fe7rf
@TanTran-fe7rf 4 жыл бұрын
Could you share me this slide, Brian? Thanks a lot
@AliMohamed-jg6bv
@AliMohamed-jg6bv 5 жыл бұрын
Dear friend, i need to know how to make Xcode accept more than 10 toggles per page, as when i want to add more than 10 toggle it won't allow? i need also to know how to make toggle label clickable and shows a pop up window to write inside it, is that possible ?
@trentguillory9808
@trentguillory9808 4 жыл бұрын
I'm sure you've found an answer within the last 8 months, but a SwiftUI view only allows a max of 10 subviews. You can use Group {} to get around that. With 10 Groups of 10 Toggles each, you could easily have 100 toggles in a page.
@igor1309
@igor1309 5 жыл бұрын
Hi Brian! What is messageLabel??
@shadykahaleh9377
@shadykahaleh9377 4 жыл бұрын
UILabel
@Aiiboo
@Aiiboo 5 жыл бұрын
How I can import SwiftUI in SceneKit/SpriteKit? Like a collectionView as SwiftUI
@vamsi3877
@vamsi3877 5 жыл бұрын
👌👌👌
@GoeHybrid
@GoeHybrid Жыл бұрын
Really hard to follow after you switched to the actual project.
@nicolasklarsfeld
@nicolasklarsfeld 3 жыл бұрын
example with uikit begin at 11:40
@glych002
@glych002 4 жыл бұрын
The way you did it is poor, because you would have to create a message publisher for each property on the message object.
@w0mblemania
@w0mblemania 4 жыл бұрын
Do you have a video showing how to do it better?
@محمدبنسراجالدين
@محمدبنسراجالدين 5 жыл бұрын
Apparently no one knows how to create a list with dynamic sections And delete rows functionality. Like a list of employees sectioned by departments and still can delete rows!! Can you?!
@omgawdhax
@omgawdhax 5 жыл бұрын
If I recall correctly, Apple showed something like that in Diffable Data Sources session. You should check that out. That doesn't use Combine though.
@w0mblemania
@w0mblemania 4 жыл бұрын
The question is irrelevant to the video. It's just an attempt to grab free tech help.
@davidpaul3425
@davidpaul3425 3 жыл бұрын
Thanks for the tutorial. 18:55 hope we can unsubscribe later!
@iambenmitchell
@iambenmitchell 5 жыл бұрын
Nutmeg in mashed potatoes? Thats new. Could you check your emails :)
@patrickclaessens9418
@patrickclaessens9418 5 жыл бұрын
That's not new at all :-)
龟兔赛跑:好可爱的小乌龟#short #angel #clown
01:00
Super Beauty team
Рет қаралды 49 МЛН
Миллионер | 1 - серия
34:31
Million Show
Рет қаралды 3 МЛН
Don't look down on anyone#devil  #lilith  #funny  #shorts
00:12
Devil Lilith
Рет қаралды 47 МЛН
Fake watermelon by Secret Vlog
00:16
Secret Vlog
Рет қаралды 16 МЛН
Getting Started with Combine - Shai Mishali - App Builders 2020
37:05
Swiss Mobile Developers Association
Рет қаралды 8 М.
What exactly is a Combine AnyCancellable? (feat. Donny Wals)
13:33
Vincent Pradeilles
Рет қаралды 3,7 М.
Intel's weapon against motherboard companies... will it work?
17:26
JayzTwoCents
Рет қаралды 118 М.
Custom Cocoapods: Sharing A Framework | Swift 4, Xcode 9
45:59
SwiftData Basics in 15 minutes
15:18
CodeWithChris
Рет қаралды 47 М.
龟兔赛跑:好可爱的小乌龟#short #angel #clown
01:00
Super Beauty team
Рет қаралды 49 МЛН