0 1 00:00:01,860 --> 00:00:09,240 All right, guys. We're on to another module of advanced Swift. And in this module, we're going to be building 1 2 00:00:09,360 --> 00:00:11,250 a calculator app. 2 3 00:00:11,250 --> 00:00:13,200 So we're going to be using-- 3 4 00:00:13,200 --> 00:00:19,470 So we're going to be using the interface that we designed in our Auto Layout Module a couple of lessons 4 5 00:00:19,500 --> 00:00:25,920 back and we're going to be giving it some functionality this time. And through the process of building 5 6 00:00:25,920 --> 00:00:27,050 this calculator app, 6 7 00:00:27,120 --> 00:00:30,300 we're going to learn about a number of advanced Swift concepts. 7 8 00:00:30,480 --> 00:00:33,210 So this is what the finished product will look like. 8 9 00:00:33,210 --> 00:00:41,410 So we could multiply numbers, for example, like this, or we could make it into a percentage, or divided 9 10 00:00:41,460 --> 00:00:46,920 by 6, whatever it is that we need it to do. So through the process of building this app, we're going 10 11 00:00:46,920 --> 00:00:53,900 to learn about Swift Structures, otherwise known as structs. And we're also going to look at when you would 11 12 00:00:53,940 --> 00:01:01,230 use struct versus classes. Then we're going to look at things, such as internal/external parameters and 12 13 00:01:01,230 --> 00:01:07,050 what that underscore actually means in the code that you see, as well as talking about access levels, 13 14 00:01:07,050 --> 00:01:10,420 such as private, public, open, internal, et cetera. 14 15 00:01:10,710 --> 00:01:13,530 And finally, we're also going to introduce Swift Tuples. 15 16 00:01:13,560 --> 00:01:22,020 So as you can see, it's a jam-packed module full of more advanced parts of Swift. And this section of 16 17 00:01:22,110 --> 00:01:29,910 Advanced Swift Concepts is more about making your code more manageable and easier to maintain. 17 18 00:01:29,910 --> 00:01:36,240 So we're not really learning new things in order to be able to do more stuff with our apps, but it's more about making 18 19 00:01:36,240 --> 00:01:43,230 our codebase more maintainable, so that if we collaborate or if it gets more and more complex, then it's 19 20 00:01:43,230 --> 00:01:49,040 still manageable because of all of these neat tools and concepts that we're going to learn. 20 21 00:01:49,050 --> 00:01:54,900 So as I always say, make sure that you don't skip any of the lectures and that you've already done all 21 22 00:01:54,900 --> 00:01:57,900 of the previous modules before you arrive here. 22 23 00:01:57,900 --> 00:02:02,970 I know that there's a lot of things that would be neat to just look up and quickly learn, but unfortunately, 23 24 00:02:03,000 --> 00:02:06,260 a lot of programming builds on top of other concepts 24 25 00:02:06,360 --> 00:02:12,810 and it's not so easy to just dip in and out of some of these advanced topics, and it's very easy to quickly 25 26 00:02:12,810 --> 00:02:13,400 get stuck. 26 27 00:02:13,410 --> 00:02:19,640 But if you've completed all the modules up till now and everything makes sense, then feel free to continue 27 28 00:02:19,710 --> 00:02:23,920 and we're going to deep dive into all of these advanced Swift topics.