Just completed! For my needs, this has been the best video Swift tutorial I was able to find anywhere. As Vandad says, the course is not for complete Beginners. It is also not for Advanced Swift learners. It seems most appropriate for Intermediate learners, and it has been perfect for me. Thank you, Sir!
Outstanding. I’ve written C, C++, C# and Java. This is my first experience at these modern programming paradigms. Your lessons were straightforward and informative. I just finished the last lesson in this course and feel very comfortable with what you’ve covered. I look forward to more of your tutorials. Thank you.
For someone who might wonder why function does not has return keyword @1:13. In swift, it has implicit return when there is only line of code in function body.
This will be my second language after basic Java. So happy to see so many similarities and to understand them all. Looking forward to the end of this video for some of the entirely new things
I would like to correct one point in the operators section. The operator && has higher precedence over ||. The values next to && get evaluated first from left to right. So the example was true && false -> false && true -> false || true -> true.
It's not true that "elements with the same hash value cannot exist in the same Set". In fact, the Set will first perform a pre-check using the hash values. If two elements e1 and e2 have the same hash value, it will further check whether `e1 == e2`. If they are not equal, then e1 and e2 can certainly coexist in the same set.
51:30 I believe that the practice of checking equality in this "backwards" way goes way back to early compilers that were not sophisticated enough to issue a warning when a programmer accidentally typed an assignment operator ("=") instead of an equality operator ("==") in the "if" expression. If the programmer intended to write "if (someVariable == 100)..." but instead wrote "if (someVariable = 100)...", the latter code would compile without error, and it could take some time to find this bug. So programmers started writing the same equality check "backwards", like this: "If (100 == someVariable)...", because if they ever mis-typed it as "if (100 = someVariable)...", the compiler would detect this as an error.
Appreciate the video. Only issue is right from the beginning the explanation on Vars/Constants seems exceedingly long and confusing for a beginner. Explain a variable, and then explain a constant. Mutability and Immutability as they refer to each. I know this is for beginners, however in trying to not confuse/overload someone new to programming it doesn't help to ramble on versus being concise.
This tutorial is okay, but I wanted to give some constructive feedback as someone coming from a javascript background. So far I've found some of the lack of context frustrating. It would be helpful for me personally to hear more about the "why" and not just the "how". For example, when is it appropriate to use an enum vs another named type, say a class? I also found the explanation of closures pretty confusing, you were using them like callbacks are used in Javascript. I've always thought of closures as specifically having to do with accessing variables/data inside the closed over the lexical scope of an outer function from within an inner function. Is the concept different in swift? Anyway, i'm going to keep going, but I think pairing the data with the functionality so to speak would really elevate your teaching further!
Totally agree @gabrialkime6597. No doubt it is a good course for anyone who is a experienced developer. I was enjoying it till it hit the explanation on Closures. Closure implementation might differ between languages but the concept is same. Closures use is to close on some local variables in the outer scope and holds it till the function is called later (whenever needed). The author here simply first create a 'Anonymous function' assigning to a variable. Till this point it is just a normal function as any other but assigned to a variable, then passing it to another function as argument makes the other function a 'High order function'. When it is called with in the high-order function, it is simply a callback NOT a 'Closure'. Genuine 'Closure' would be a function returned by an another function binding to some variable(state) of the parent function. Delivery of Closure part here is some what not correct. It would rather be explained by concepts like HighOrder function and use of anonymous function as a callback.
it is intense for a beginner like me but i am on enums now taking notes to dive deeper later with ai. i believe this is how any regular lessons go.. this one is a lesson rather than a tutorial. i dont know why they label anything educational a turorial today
11:12 Is there a trick to get the errors to appear in the console like this? I see the red banner error in the editor, but my console is blank and not displaying the text as shown in the video here.
Great intentions, too much dumbed-down, sometimes (what happened with boolean expressions for example). Kudos for the approach of playgrounds and the way the course is divided. I could not find the playgrounds published and I don't know that they are.
At 2:23 he changed how == operator behaves by default by creating a function named ==. You probably should never do that and he did that to show capabilities of swift imo
Amazing video! You mention at the end of the video that the next videos are about client and backend development with swift however I can't seem to find them. Would really appreciate it if you pointed them out:)
After executing the code inside the switch case that matched, the program exits from the switch statement. Execution doesn’t continue to the next case, so you don’t need to explicitly break out of the switch at the end of each case’s code.
10:30 Seems like at this point your explanation of the difference between "let" and "var" is the exact definition of mutability. I don't understand why you said that it wasn't about mutability before you started your explanation. 🤷♂
As a complete know nothing beginner I just got wrecked. I imagine for someone that's already familiar with some of the terminology this would be solid.
Taking this class now at my local library where I also studied HTML/CSS. You're not alone in being wrecked but I'm trying to complile notes on Swift functions similar to those languages i.e., image files. We have the CANVAS book as well as Apple's book from their App Store with a terminology glossary in each, which helps and we have to build a prototype app by Dec. 2. Ain't gonna happen here! Keep at it, JamesBond, you'll get it before I do.
Enjoying the course but I have a feedback: Remove the automatic run. The error messages that keep popping up while you are typing is distracting. Especially in the "closure" chapter
@22:71 how are you able to get the array contents to appear on the right side of the screen? On mine, it says NSMutablearray and then Array of 2 strings. I have to click this to see the values within the array. Is there a settings change that will automatically display contents inside the array as opposed to the number of values within it? I am running the latest version of XCode
Same thing here. It is weird how Apple decides to remove useful and helpful features and replace them with less useful UI. At least I was hoping there is a Setting switch to fix this. But no.
Learnt alot from your free channel, love this community for its contribution and perfect Technology contents. Also I wanted to know about AI Testing related course if you have any please suggest the same.
Hello! Quick question. Your right sidebar is showing the elements of your array, I mean it says [30, 20, 19, 40]. For me it says, "Array of 4 int elements". How do I change this so it actually show [30, 20, 19, 40]? Thanks in advance!
Great tutorial, I have one question as a guy coming from TypeScript world, when I am dealing with data fetched from a backend, json for example, I usually create an interface for the shape of the data. But I see in swift world they use struct for this reason. Is it not more appropriate to use protocols?!?
Swift is completly new to me coming from C/C++ but is'nt var a auto and let a const auto? And if so, why did he used the const auto so much? Is it like swift conventions to use let as long as you can and, if you have to do so, switch to var later on? He kinda focused a little bit too much on the const then just using var and being good to go
very nice tutorial about the concepts of swift....just for the reference in the future is there any github repo for all the examples you have showed in the video
Your results show in the right hand pane, as do mine, except when the result is an array. All I see is "Array of 4 Int elements" but you see [19,20,30,40]. Where is the setting to change this?
wow, i have spent an hour and am stuck on creating a file. I followed the initial instructions but clicked on the blank playground and am unable to follow what you did to create your directory system. All i want to do is create the training directory in the desktop. When i go into that directory i can see it with nothing in it and anything related to create is greyed out. But, the open option is available. When i click open, no xcode file found error.
Why do all “beginner” courses seem to start by saying that you should already be using another coding language? Do software engineers not understand what it means to be a beginner?
I currently learning about swift. Why mine not showing the data of and array, instead it only said something like "Array of 4 String elements"? Does anyone know how to setting Xcode?
Not really. But learning it is pretty important if you wanna land a job in big companies. Honestly it's actually good as it'll enhance your abilities as a programming.
Just completed! For my needs, this has been the best video Swift tutorial I was able to find anywhere. As Vandad says, the course is not for complete Beginners. It is also not for Advanced Swift learners. It seems most appropriate for Intermediate learners, and it has been perfect for me. Thank you, Sir!
Outstanding. I’ve written C, C++, C# and Java. This is my first experience at these modern programming paradigms. Your lessons were straightforward and informative. I just finished the last lesson in this course and feel very comfortable with what you’ve covered. I look forward to more of your tutorials. Thank you.
This is one of the most straight forward tutorials I have seen, I will be searching for the rust course from Vandad next!
For someone who might wonder why function does not has return keyword @1:13. In swift, it has implicit return when there is only line of code in function body.
This will be my second language after basic Java. So happy to see so many similarities and to understand them all. Looking forward to the end of this video for some of the entirely new things
I would like to correct one point in the operators section. The operator && has higher precedence over ||. The values next to && get evaluated first from left to right. So the example was true && false -> false && true -> false || true -> true.
>>Here we go again
Really helpful and pretty easy to follow. Thanks for uploading tutorials in several different languages!❤
thank you senior fullstack sir for this video. I am a TypeScript developer and i learnt swift now.
Everything is explained really well from the ground up, this is absolutely brilliant.
How come you guys always publish videos that I am currently in great need of? it’s like you can read my mind 😂
It's not true that "elements with the same hash value cannot exist in the same Set".
In fact, the Set will first perform a pre-check using the hash values. If two elements e1 and e2 have the same hash value, it will further check whether `e1 == e2`. If they are not equal, then e1 and e2 can certainly coexist in the same set.
Just finished the course! Super underrated!
51:30 I believe that the practice of checking equality in this "backwards" way goes way back to early compilers that were not sophisticated enough to issue a warning when a programmer accidentally typed an assignment operator ("=") instead of an equality operator ("==") in the "if" expression. If the programmer intended to write "if (someVariable == 100)..." but instead wrote "if (someVariable = 100)...", the latter code would compile without error, and it could take some time to find this bug. So programmers started writing the same equality check "backwards", like this: "If (100 == someVariable)...", because if they ever mis-typed it as "if (100 = someVariable)...", the compiler would detect this as an error.
Vandad is a great tutor , you'll find a lot on his UA-cam channel which is regularly updated.
Thanks for the video as always, could you make a swift UI full course to complete this one pls 👍
Appreciate the video. Only issue is right from the beginning the explanation on Vars/Constants seems exceedingly long and confusing for a beginner.
Explain a variable, and then explain a constant. Mutability and Immutability as they refer to each. I know this is for beginners, however in trying to not confuse/overload someone new to programming it doesn't help to ramble on versus being concise.
i think this is world's best UA-cam channel to Learn programming
Thank you. You provide the best ways to learn programming. You are the best educational content. I hope you add Arabic translation to your courses.
Спасибо!
Thanks!
It has been a long time since I don't watch a good long very well explained tutorial
Trying to learn Swift:
Day 1: 14:38 (just wanted to get started)
bro quit
start again bro
This tutorial is okay, but I wanted to give some constructive feedback as someone coming from a javascript background. So far I've found some of the lack of context frustrating. It would be helpful for me personally to hear more about the "why" and not just the "how". For example, when is it appropriate to use an enum vs another named type, say a class? I also found the explanation of closures pretty confusing, you were using them like callbacks are used in Javascript. I've always thought of closures as specifically having to do with accessing variables/data inside the closed over the lexical scope of an outer function from within an inner function. Is the concept different in swift? Anyway, i'm going to keep going, but I think pairing the data with the functionality so to speak would really elevate your teaching further!
Totally agree @gabrialkime6597. No doubt it is a good course for anyone who is a experienced developer. I was enjoying it till it hit the explanation on Closures. Closure implementation might differ between languages but the concept is same.
Closures use is to close on some local variables in the outer scope and holds it till the function is called later (whenever needed). The author here simply first create a 'Anonymous function' assigning to a variable. Till this point it is just a normal function as any other but assigned to a variable, then passing it to another function as argument makes the other function a 'High order function'. When it is called with in the high-order function, it is simply a callback NOT a 'Closure'. Genuine 'Closure' would be a function returned by an another function binding to some variable(state) of the parent function.
Delivery of Closure part here is some what not correct. It would rather be explained by concepts like HighOrder function and use of anonymous function as a callback.
@@kam2ube so lambda functions in Haskell wont count as Closures? do partial functions count as Closures?
it is intense for a beginner like me but i am on enums now taking notes to dive deeper later with ai. i believe this is how any regular lessons go.. this one is a lesson rather than a tutorial. i dont know why they label anything educational a turorial today
27:40 makeUppercase() is not method of string, but uppercased() instead..
great content, please put on subtitles for people to easily understand.
I agree
UA-cam has this option it’s the CC on the bottom right of the screen
35:36 The negation operator is an exclamation point, not an apostrophe.
11:12 Is there a trick to get the errors to appear in the console like this? I see the red banner error in the editor, but my console is blank and not displaying the text as shown in the video here.
Great intentions, too much dumbed-down, sometimes (what happened with boolean expressions for example). Kudos for the approach of playgrounds and the way the course is divided. I could not find the playgrounds published and I don't know that they are.
so many great details i failed to see earlier are here in this video
Hello Vandad, I wasn't sure what you were doing around 2:23:35, how does creating a function that returns a boolean value fix that issue
Also, around 2:25:33, why are you adding a . before each value
At 2:23 he changed how == operator behaves by default by creating a function named ==. You probably should never do that and he did that to show capabilities of swift imo
And same applies to the switch case where he does "case .cat" etc...
Just beginning this class at my local library so this should be very interesting.
This guy is a pretty good teacher!
i love what you're trying to do. my brain is syrup.
Why is without subtitles?? Please, can you enable them?
Very informative! Thank you
Waiting for SwiftUI lol
Thank you very much for this course. So helpful and detailed
Superb video on swift
Amazing video! You mention at the end of the video that the next videos are about client and backend development with swift however I can't seem to find them. Would really appreciate it if you pointed them out:)
Outstandingly good tutorial
After executing the code inside the switch case that matched, the program exits from the switch statement. Execution doesn’t continue to the next case, so you don’t need to explicitly break out of the switch at the end of each case’s code.
Thanks for this amazing course
Would be nice to know what version of Xcode is used in this video.
10:30 Seems like at this point your explanation of the difference between "let" and "var" is the exact definition of mutability. I don't understand why you said that it wasn't about mutability before you started your explanation. 🤷♂
Amazing video, very helpful
As a complete know nothing beginner I just got wrecked. I imagine for someone that's already familiar with some of the terminology this would be solid.
i already knew the basics of javascript and python before this..and it’s still a lot for me. :)
Taking this class now at my local library where I also studied HTML/CSS. You're not alone in being wrecked but I'm trying to complile notes on Swift functions similar to those languages i.e., image files. We have the CANVAS book as well as Apple's book from their App Store with a terminology glossary in each, which helps and we have to build a prototype app by Dec. 2. Ain't gonna happen here! Keep at it, JamesBond, you'll get it before I do.
Thanks for awesome tutorial!
Enjoying the course but I have a feedback: Remove the automatic run. The error messages that keep popping up while you are typing is distracting. Especially in the "closure" chapter
Thank you for this.
Thanks , this contribution is great.
Thank you guys!!!
Very good tutorial, is there any Full Course for more Advanced programmer?
Thanks for the vid!
@22:71 how are you able to get the array contents to appear on the right side of the screen? On mine, it says NSMutablearray and then Array of 2 strings. I have to click this to see the values within the array. Is there a settings change that will automatically display contents inside the array as opposed to the number of values within it? I am running the latest version of XCode
sadly it's just because the latest version - Apple removed this feature in Xcode 15.0
Same thing here. It is weird how Apple decides to remove useful and helpful features and replace them with less useful UI. At least I was hoping there is a Setting switch to fix this. But no.
Learnt alot from your free channel, love this community for its contribution and perfect Technology contents. Also I wanted to know about AI Testing related course if you have any please suggest the same.
At 27:16 you made a mistake I think it actually preserves immutability.
Hello! Quick question. Your right sidebar is showing the elements of your array, I mean it says [30, 20, 19, 40]. For me it says, "Array of 4 int elements". How do I change this so it actually show [30, 20, 19, 40]? Thanks in advance!
It does this for me too. I have tried searching everywhere to find out how to change it and have had no luck.
This is rather important... Which Xcode (Swift) version is being presented?
Great tutorial, I have one question as a guy coming from TypeScript world, when I am dealing with data fetched from a backend, json for example, I usually create an interface for the shape of the data. But I see in swift world they use struct for this reason. Is it not more appropriate to use protocols?!?
Swift is completly new to me coming from C/C++ but is'nt var a auto and let a const auto? And if so, why did he used the const auto so much? Is it like swift conventions to use let as long as you can and, if you have to do so, switch to var later on?
He kinda focused a little bit too much on the const then just using var and being good to go
Thank you so much 👍👌💕
very nice tutorial about the concepts of swift....just for the reference in the future is there any github repo for all the examples you have showed in the video
are we going to build an app after finishing this course?
Your results show in the right hand pane, as do mine, except when the result is an array. All I see is "Array of 4 Int elements" but you see [19,20,30,40]. Where is the setting to change this?
Do I have to create workspace for my project? It's not enough to put the files just in the project's folder?
5th to Comment!
2023 I will be a prominent programmer! Amen!
youre the seventh actually
@@watchpanzer6387 Thanks 😂
Solve tech problems professionaly you became prominent effortlessly
wow, i have spent an hour and am stuck on creating a file. I followed the initial instructions but clicked on the blank playground and am unable to follow what you did to create your directory system. All i want to do is create the training directory in the desktop. When i go into that directory i can see it with nothing in it and anything related to create is greyed out. But, the open option is available. When i click open, no xcode file found error.
How is loops / iterators not in the list of sections???? Is this part not covered anywhere in the video?
5:09:20 start of try
Why do all “beginner” courses seem to start by saying that you should already be using another coding language? Do software engineers not understand what it means to be a beginner?
I currently learning about swift. Why mine not showing the data of and array, instead it only said something like "Array of 4 String elements"? Does anyone know how to setting Xcode?
Thanks for high quality content, could you also put the playground files link?
Any Salesforce video??
Could you do for objective C
Thank you!
Day 1: 8:34
I can't watch 1 minute without hearing: "alright?" or "okay?"
Please create a video on sway programming language for fuel scaling solution
Following!
Beau please we need long hours Vue js course please... There are a lot for React and Angular as well but Vue Js is missing
Great thanks
cool video)
Is FCC reading my mind? I just searched up which type of mobile development is best to learn first and decided on Swift😳
bm - 01:05:08
What is your font type in Xcode?
SF Mono?
Damn, Taika Waititi moving mad
What does "using" do in closure
Goodjob
Nice 👍
Is it functional based programming???
Is tiene possible to code with an Ipad? And how? I can not find Xcode for Ipad :(
You don’t, get a Mac for that
I see some similarity with Javascript!
Can we use iPad?
Do we need DSA in front end
Not really. But learning it is pretty important if you wanna land a job in big companies. Honestly it's actually good as it'll enhance your abilities as a programming.
Learn how to centre a div
00:01:00
@ 5:13:20 called forced unwrap
let being a constant is hurting my js brain
thanks a lot
The demand for swift developer will decrease significantly in the coming years. After KMP will have reached it's production ready state.
00:02:76