You are absolutely killing it with this advanced series Nick! Truly appreciate all of the time and effort that you have put into your channel. I have watched every plkaylist and every episode that you have posted. Thanks!
That is an in incredible thing to hear. Thank you for the comment Brad! I could not be happier to hear that someone is actually watching them in order and learning. This keeps me going 😎
your playlist was by far the best SwiftUi teaching I have ever watched, you don't just explains the concept you even chose to do it by the best practice. I hope to see a video explaining how to work with CoreLocation Kit inside MVVM SwiftUI Architecture Thank You A lot
Awesome explanation! It was very easy to understand all benefits of it when you had show the usage in Preview. This is a moment when View becomes truly abstractive! Thanks
I love of these videos! Again they are all and I mean all of them very helpful when learning them for the first time and referencing them later on if I forget how to do something. Thank you very much for all your time and effort!
14:15 after using the autofix from XCode, the AnotherColorTheme has primary/secondary/tertiary colors as a var. But DefaultColorTheme and AlternativeColorTheme define them using let. What would be the best practise here ? Make them all three use var or make them all three use let ?
Great video! instead of creating an empty protocol in order to combine 2 other protocols, you can do it via typealias like so: typealias CombinationProtocol = ButtonTextProtocol & ButtonPressedProtocol and create a variable that conform to it: var someVar: CombinationProtocol
so long story short we are taking the "how" and replace it by basic rules (get or set for var and existence of func) and type descriptions (var type), so we can inject the how in the beginning of the app, in order to be able to run dummy code. As usual, again big thanks, Nick.
Wow! I wouldn't think you'd any time to read these. Ahh, to be young again! I've purchased a bigger keyboard so I can access the arrow keys more easily but the auto completion feature is often confusing me in any case. I must say, I feel a bit sad when you delete all the nice code you've typed - but of course I can always rewind... I was trying to create a color scheme to match the vids but also help me identify the various types in the code. Sorry - I'm starting to ramble. Thanks for the reply Nick! @@SwiftfulThinking
One thing . . . All I can ever find regarding Xcode education is about the iOS. I'm actually more interested in the MacOS and creating desktop applications. There's a demographic that will be increasing of folks who'd rather sit down with a mouse than be fickly-Fudging with thumbs and virtual keyboards. Have any content that you'd recommend or advice on how to proceed most efficiently towards the goal?
Love your videos, thank you for the great explanation! You've briefly mentioned Dependency Injections. Will you be covering Dependency Injection methods like creating Factory classes and/or Dependency Containers in the future? Or is that even relevant in SwiftUI because of EnvironmentObjects, I'm not too sure :/
It's nice explanation about protocols , But i have one concern we can also make our Protocols optional for the buttonPressed() function , I think it's good way to reduce the no of lines of code if we make that Protocol optional.please suggest it's a good way or not.
There is some confusion about { get }, i.e. why is it possible to 'set' the value of property if it is 'get' only?! Why, say, / let primary: Color = .red / generates no error? P.S. after some research I've got the answer: protocol "functionality" is applied AFTER struct is initialized, i.e. 'primary' property belongs to struct and initialized when related object is already created, and protocol's get/set functionality for this (primary) property is invoked/applied later on 😁
“Get only” means after the initial value is set, you can only get it. let primary = .red Here you are setting an initial value but the “setter” is disable. Meaning you cannot update / change the value within the protocol
Probably the best Procotols video available on TH-cam!
You are absolutely killing it with this advanced series Nick! Truly appreciate all of the time and effort that you have put into your channel. I have watched every plkaylist and every episode that you have posted. Thanks!
That is an in incredible thing to hear. Thank you for the comment Brad! I could not be happier to hear that someone is actually watching them in order and learning. This keeps me going 😎
That's how Polymorphism is done in Swift. Thanks for the tutorial, Nick! Very good as usual!
Great Example!! I learned so much in this episode and can't wait to move on to Dependency Injections.
this video is unique from other videos about protocol i ever watched on youtube. thanks man.
Brad is so right. Nick is killing it with awesome well explained, easy to understand tutorials . A truly gifted teacher
your playlist was by far the best SwiftUi teaching I have ever watched, you don't just explains the concept you even chose to do it by the best practice.
I hope to see a video explaining how to work with CoreLocation Kit inside MVVM SwiftUI Architecture
Thank You A lot
I am going to add CoreLocation to my list. Maybe a mini-app project. Thanks for the suggestion!
Awesome explanation! It was very easy to understand all benefits of it when you had show the usage in Preview. This is a moment when View becomes truly abstractive! Thanks
I love of these videos! Again they are all and I mean all of them very helpful when learning them for the first time and referencing them later on if I forget how to do something. Thank you very much for all your time and effort!
Comments like this are why I've continued posting to this channel. Thank you!!
Great video, everything is explained in simple ways!
Best explanation of protocols I have seen. Thanks, Nick!
Hey William! It's been a while! Thanks for the comment :)
That was a very clear introduction to an otherwise perplexing subject. Thanks.
Hey Mark! Glad to see you're watching these! Thanks for the comment 👍
As always GREAT explanation. THANK YOU NICK!
As always... thanks for watching Anday!
I think you applied Strategy design pattern, Good job Nick👏👏
14:15 after using the autofix from XCode, the AnotherColorTheme has primary/secondary/tertiary colors as a var. But DefaultColorTheme and AlternativeColorTheme define them using let. What would be the best practise here ? Make them all three use var or make them all three use let ?
The protocol must be a var, but if your value is a constant, best practice is to keep it a let.
Great video! instead of creating an empty protocol in order to combine 2 other protocols, you can do it via typealias like so:
typealias CombinationProtocol = ButtonTextProtocol & ButtonPressedProtocol
and create a variable that conform to it:
var someVar: CombinationProtocol
Super solid. Subscribed!
keep updating SwiftUI Advance Learning! you are good sensei
Best explanation. Thanks a lot.
For the computed properties in the protocol definition in this video example, does 'SET' become implicit property because color is set in the struct?
Hi Usha! Computed properties would be "get" only properties. It wont compile if you set it to get and set.
@@SwiftfulThinking It compiled with 'set'.Can you check that and explain please.
Really solid, clear explanation!
Thanks for watching Eric 😎
so long story short we are taking the "how" and replace it by basic rules (get or set for var and existence of func) and type descriptions (var type), so we can inject the how in the beginning of the app, in order to be able to run dummy code. As usual, again big thanks, Nick.
I can't wait to learn projects from advanced learning, how many learning videos are in this playlist,sir?
There will be about 20 total 😅
So big picture would it be correct to say that protocols help with making sure I'm not making "breaking changes" within my app!?
Yea it definitely helps for that, but writing tests will also do that (covered later in this course)
So, basically, protocols are just a version of pure-virtual c++ classes?
Awesome video!
Man . . . You're really good!
Thanks James!! I’ve been following you’re comments I can’t believe you’re up to this level already 🚀🚀🚀 congrats!
Wow! I wouldn't think you'd any time to read these. Ahh, to be young again!
I've purchased a bigger keyboard so I can access the arrow keys more easily but the auto completion feature is often confusing me in any case. I must say, I feel a bit sad when you delete all the nice code you've typed - but of course I can always rewind... I was trying to create a color scheme to match the vids but also help me identify the various types in the code. Sorry - I'm starting to ramble. Thanks for the reply Nick!
@@SwiftfulThinking
Thank you Nick , your explanation is very very useful for us
One thing . . . All I can ever find regarding Xcode education is about the iOS. I'm actually more interested in the MacOS and creating desktop applications. There's a demographic that will be increasing of folks who'd rather sit down with a mouse than be fickly-Fudging with thumbs and virtual keyboards. Have any content that you'd recommend or advice on how to proceed most efficiently towards the goal?
Love your videos, thank you for the great explanation! You've briefly mentioned Dependency Injections. Will you be covering Dependency Injection methods like creating Factory classes and/or Dependency Containers in the future? Or is that even relevant in SwiftUI because of EnvironmentObjects, I'm not too sure :/
Haha don't worry, the Dependency Injection video is next!
@@SwiftfulThinking well would you look at that, my dream came true :’)
I actually didn't know protocols can inherit from other protocols. Pretty cool!
Thanks again for the comment James 😎
The best in Swift
Thanks Mrs Lana!
Amazing, thanks!
Now we’re getting to the juicy part!
Haha I hope you're ready Ken!
Thank you so much....You are amazing teacher
Thanks Thahi!
It's nice explanation about protocols , But i have one concern we can also make our Protocols optional for the buttonPressed() function , I think it's good way to reduce the no of lines of code if we make that Protocol optional.please suggest it's a good way or not.
👍🏼👍🏼👍🏼
awesome
ty
There is some confusion about { get }, i.e. why is it possible to 'set' the value of property if it is 'get' only?!
Why, say, / let primary: Color = .red / generates no error?
P.S. after some research I've got the answer: protocol "functionality" is applied AFTER struct is initialized,
i.e. 'primary' property belongs to struct and initialized when related object is already created,
and protocol's get/set functionality for this (primary) property is invoked/applied later on 😁
“Get only” means after the initial value is set, you can only get it.
let primary = .red
Here you are setting an initial value but the “setter” is disable. Meaning you cannot update / change the value within the protocol
Swift is a protocol oriented langage