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.
