1 00:00:00,480 --> 00:00:01,410 Welcome back again. 2 00:00:01,410 --> 00:00:06,450 This lesson is actually an exercise on what you're supposed to be doing is you have to make a shared 3 00:00:06,540 --> 00:00:07,860 entry form. 4 00:00:07,860 --> 00:00:13,740 So essentially you have one view controller that has a little text field in it and you can enter a value 5 00:00:13,740 --> 00:00:14,070 on it. 6 00:00:14,460 --> 00:00:20,690 And this view controller is shared as a child of your controller in two different view controllers. 7 00:00:20,730 --> 00:00:25,200 So let's say you have one view controller that because the first view controller and the other one that 8 00:00:25,230 --> 00:00:29,970 because the next view controller and there is something in between them that is the shared the view 9 00:00:29,970 --> 00:00:33,240 controller and the shared one has a text field in it. 10 00:00:33,240 --> 00:00:38,580 Now the challenge that you have to solve is this every time that you enter something on this text field 11 00:00:38,610 --> 00:00:46,470 and you had enter or the text ends we have to get the value from that text field and represented in 12 00:00:46,560 --> 00:00:49,620 any view controller that we currently are at. 13 00:00:49,890 --> 00:00:55,050 So you might be in the first few controller or you might be in the next view controller in each of them 14 00:00:55,050 --> 00:01:00,780 you should be able to get the value from that other shared the view controller to do that. 15 00:01:00,780 --> 00:01:04,350 I'm going to give you a little hint that you must use a delegate. 16 00:01:04,650 --> 00:01:07,910 So that's like the best approach for doing something like that. 17 00:01:08,010 --> 00:01:14,130 You use a delegate you make your own protocol and you make a delegate that delegates a task from the 18 00:01:14,130 --> 00:01:20,050 shared the view controller to either of the two of you controllers that you are at right now. 19 00:01:20,070 --> 00:01:21,660 So it takes some time. 20 00:01:21,660 --> 00:01:23,230 I try it on your own. 21 00:01:23,250 --> 00:01:28,260 I hope you know you succeed in it or if you have questions ask me otherwise I'm going to get this started 22 00:01:28,260 --> 00:01:30,420 on this in just a few seconds as well. 23 00:01:30,510 --> 00:01:35,130 If you want you can pause the video and try it on your own and then watch me doing 24 00:01:39,000 --> 00:01:39,480 okay then. 25 00:01:39,490 --> 00:01:41,300 So I'm going to get this started as well. 26 00:01:41,320 --> 00:01:49,850 I'm going to go to court to start a new application called shared entry form app on my shirt and a phone 27 00:01:49,870 --> 00:01:52,270 only has one value that we can enter. 28 00:01:52,290 --> 00:01:55,430 But that essentially shows us what we should be doing. 29 00:01:55,490 --> 00:01:58,390 And when I go to my main a storyboard and my main storyboard. 30 00:01:58,420 --> 00:02:00,790 I'm going to add a new view controller. 31 00:02:01,390 --> 00:02:03,970 So that's my next view controller. 32 00:02:04,240 --> 00:02:09,820 And for my next you can control I'm actually going to make a new file or new Coke with each class and 33 00:02:09,820 --> 00:02:15,580 I'm going to call this one next view controller simply because I have the first one. 34 00:02:15,580 --> 00:02:21,670 The main one which is here on the left lets me go back to the storyboard which is here and I have the 35 00:02:21,670 --> 00:02:22,640 next one. 36 00:02:22,690 --> 00:02:30,910 So for the next I'm going to go in here and say it's class is the next view controller which should 37 00:02:31,100 --> 00:02:33,370 autocomplete but doesn't for some reason. 38 00:02:33,370 --> 00:02:34,330 Let me try again. 39 00:02:35,740 --> 00:02:36,190 Yes. 40 00:02:36,190 --> 00:02:38,000 Next view controller stop. 41 00:02:38,080 --> 00:02:39,570 One of them is this first one. 42 00:02:39,570 --> 00:02:40,970 One of them is the next one. 43 00:02:41,080 --> 00:02:46,870 And actually the next one umber changes color to be a little different maybe like that. 44 00:02:46,870 --> 00:02:52,270 Now between this one and that one we need a system of going through them. 45 00:02:52,330 --> 00:02:55,110 So I'm going to go ahead and say from this one. 46 00:02:55,120 --> 00:02:56,550 Let's go to the other one. 47 00:02:56,740 --> 00:02:58,710 And that is by adding a button. 48 00:02:58,790 --> 00:03:06,880 So I'm going to say by then and that but then I'm going to say it's here. 49 00:03:06,880 --> 00:03:14,110 It has a background color which is similar and says go to next. 50 00:03:14,350 --> 00:03:20,560 Now because I'm simulating on iPhone access Max I'm actually going to change my view to the same as 51 00:03:20,560 --> 00:03:20,970 well. 52 00:03:21,250 --> 00:03:26,740 So I could actually see exactly what I will be seeing and I don't need to set any kind of strains or 53 00:03:26,740 --> 00:03:27,610 things of the sort. 54 00:03:27,610 --> 00:03:29,710 So what changed that. 55 00:03:29,950 --> 00:03:32,550 I'm going to place this one around here. 56 00:03:32,590 --> 00:03:33,430 Great. 57 00:03:33,480 --> 00:03:39,520 Now I have the two view controllers and then I want to have a v to go from one to the other one. 58 00:03:39,550 --> 00:03:45,160 So I'm going to say from the go to next do this do a Segway show. 59 00:03:45,160 --> 00:03:50,780 So now it goes for the green one and then for them when I do it I'm going to say I have a container 60 00:03:50,820 --> 00:03:51,090 you. 61 00:03:51,120 --> 00:03:57,250 So let's go ahead and add that I'm going to come in here and say container review this container of 62 00:03:57,250 --> 00:03:59,810 you I'm going to add it to my first view controller. 63 00:03:59,920 --> 00:04:08,290 Let's say this one about that I have made me this little you know container view controller. 64 00:04:08,370 --> 00:04:14,850 So I need to add this container of you can't order to my dream view controller as well. 65 00:04:15,180 --> 00:04:20,400 So what I'm going to do is this I'm going I actually copy this UI if you go in here and paste it. 66 00:04:20,400 --> 00:04:24,210 The reason I copy paste is because I wanted to get the same size. 67 00:04:24,240 --> 00:04:26,810 Otherwise there's no real reason for it. 68 00:04:26,910 --> 00:04:30,320 Then I'm going to go ahead and say this one too. 69 00:04:30,320 --> 00:04:35,500 There it has a Segway and that Segway is called embed. 70 00:04:35,670 --> 00:04:39,610 So it essentially embeds one within the other one. 71 00:04:39,630 --> 00:04:42,120 This is just like how this one is happening. 72 00:04:42,240 --> 00:04:48,120 If you select the Segway in here and you go up there it says the storyboard embed Segway and that's 73 00:04:48,120 --> 00:04:48,950 what they did in here. 74 00:04:48,970 --> 00:04:56,060 I manually made that let me redo that once again from my UI view which has the same size of this one. 75 00:04:56,160 --> 00:05:03,210 I'm going to control a drag over the view controller and say Segway embed which means it works as a 76 00:05:03,210 --> 00:05:05,320 container review for this too. 77 00:05:05,760 --> 00:05:08,920 So now this one is shared between the two of them. 78 00:05:08,970 --> 00:05:15,640 And the proof of that is if I have a text field and I place it somewhere like here. 79 00:05:17,610 --> 00:05:21,280 I changed my color so I can see things a little bit easier. 80 00:05:21,330 --> 00:05:22,300 So that's the color. 81 00:05:22,820 --> 00:05:26,420 And here is my text with a little bit larger. 82 00:05:27,250 --> 00:05:33,800 And I'm gonna say it has a place holder saying text and I'm going to make it a little larger. 83 00:05:33,830 --> 00:05:39,860 Something like that with a different background color perhaps something like that. 84 00:05:40,130 --> 00:05:46,820 So if you have this now and if we run this application we should be able to see the same view controller 85 00:05:46,940 --> 00:05:53,590 embedded in here in our main view controller as well as in the green view controller. 86 00:05:53,720 --> 00:05:57,420 And if that works it means we are one step closer to what we want to do. 87 00:05:57,440 --> 00:05:59,600 So now we have that text field is there. 88 00:05:59,600 --> 00:06:00,200 It works. 89 00:06:00,200 --> 00:06:02,210 I can actually enter values on it. 90 00:06:02,510 --> 00:06:08,210 Obviously I'm not going to be able to fetch these values just yet but if I go to the next a gain I have 91 00:06:08,210 --> 00:06:11,250 the same thing and I can see the values in here. 92 00:06:11,330 --> 00:06:19,130 So the next part of this challenge was this every time I type something and I had to enter I want this 93 00:06:19,130 --> 00:06:22,380 value to be shown somewhere in this view controller. 94 00:06:22,670 --> 00:06:27,590 So the first thing is I'm going to add a little label to both of my view controllers. 95 00:06:27,590 --> 00:06:32,780 I'm going to say I have a label that Labor is going to be here. 96 00:06:32,810 --> 00:06:40,280 That value is going to be like that and maybe a little bit larger a different background color so we 97 00:06:40,280 --> 00:06:41,730 can actually seat. 98 00:06:41,740 --> 00:06:46,940 I don't want to copy that paste it in here as well because we want to be able to see the same thing 99 00:06:47,000 --> 00:06:48,890 in two different places. 100 00:06:48,950 --> 00:06:52,020 Now I need to add some programmatic matters. 101 00:06:52,070 --> 00:06:57,560 So the first thing is this I'm going to add a new view controller for the share of the one I'm going 102 00:06:57,560 --> 00:07:02,810 to say command and this is going to be shared the view controller. 103 00:07:03,830 --> 00:07:11,150 So that's my shared view controller and I'm going to come back to my main story board say this is actually 104 00:07:11,300 --> 00:07:15,770 the class of it is a shared view controller. 105 00:07:15,770 --> 00:07:17,930 Now I have that one taken care of. 106 00:07:17,930 --> 00:07:25,970 Then I'm going to head to the assistant window and in here I'm going to say for my view controller. 107 00:07:25,970 --> 00:07:27,570 Here are the things that I want. 108 00:07:27,590 --> 00:07:29,770 That's the main view controller obviously. 109 00:07:30,140 --> 00:07:31,380 I want this label. 110 00:07:31,820 --> 00:07:35,600 So that's going to be called Main label. 111 00:07:36,260 --> 00:07:38,910 And then I'm going to go ahead and select the other one. 112 00:07:38,930 --> 00:07:44,120 The next view controller I'm actually going to do the exact same thing I'm going to say in the next 113 00:07:44,120 --> 00:07:44,680 one. 114 00:07:44,730 --> 00:07:52,910 There's also someone called NEC a main label so main labor. 115 00:07:53,660 --> 00:07:58,670 So I have the two labels taking care of then the next thing I need is with this guy. 116 00:07:58,670 --> 00:08:02,090 They share the view controllers in the shared view controller. 117 00:08:02,090 --> 00:08:06,140 I'm going to go ahead and say there is a value in here which is the text with. 118 00:08:06,260 --> 00:08:10,270 So that is going to be my or Maine again. 119 00:08:10,400 --> 00:08:15,430 Text field because they're all separate. 120 00:08:15,430 --> 00:08:17,200 Each of them has its own class. 121 00:08:17,200 --> 00:08:22,530 It doesn't really matter what you name them as long as you know what your naming them. 122 00:08:22,570 --> 00:08:25,420 So let's go ahead and you know change some of stuff in here. 123 00:08:25,420 --> 00:08:27,540 The first thing we have to do is this. 124 00:08:27,910 --> 00:08:33,050 I'm going for a shared view controller class and take care of the text field delegation. 125 00:08:33,160 --> 00:08:39,910 So I'm going to go to a shared view controller and in here I'm going to get rid of all of these and 126 00:08:40,000 --> 00:08:43,610 I'm going to do these things to say you a view controller. 127 00:08:43,640 --> 00:08:50,560 There's this superclass of the shared view controller all saw you I text field delegate is a protocol 128 00:08:50,590 --> 00:09:01,080 that we conform to and since we're conforming to that I can get should return text field should return. 129 00:09:01,840 --> 00:09:06,070 And every time that the text file should return here the things that they want to happen I want the 130 00:09:06,070 --> 00:09:09,490 text field to resign its first responder. 131 00:09:10,030 --> 00:09:17,410 I also want to get the value from the text field and show it in the order guys label the label that 132 00:09:17,410 --> 00:09:19,810 is in the order of view controllers. 133 00:09:19,870 --> 00:09:24,910 So that is something that we have to deal with using a protocol and a delegation. 134 00:09:24,910 --> 00:09:28,190 So for now I'm going to say just return true. 135 00:09:28,270 --> 00:09:30,890 So that is happening now. 136 00:09:30,910 --> 00:09:36,120 The last thing I have to do in here before I change this I'm going to say main text field in my view 137 00:09:36,130 --> 00:09:40,220 did Lord dot delegate to here. 138 00:09:40,420 --> 00:09:46,900 So it does delegate in yet understands when we had to enter by then let's try that and make sure that 139 00:09:46,900 --> 00:09:48,100 that's actually working. 140 00:09:48,100 --> 00:09:53,850 I'm going to go in here and my application and once it loads where they want to do it I want to launch 141 00:09:53,860 --> 00:09:58,850 the keyboard and I want to see that it does that dismiss and that's going to give me the confidence 142 00:09:58,850 --> 00:09:59,450 that I need. 143 00:09:59,450 --> 00:10:01,450 So that's going to be the keyboard. 144 00:10:01,480 --> 00:10:06,660 I'm gonna say hi and hit enter and the keyboard disappears. 145 00:10:06,710 --> 00:10:08,460 So that part is working. 146 00:10:08,660 --> 00:10:15,810 Now it's a matter of sending this message to that label or if you were in the other viewpoint or whatever 147 00:10:15,810 --> 00:10:18,290 the message is in here into that label. 148 00:10:18,650 --> 00:10:20,690 So for that we need a protocol. 149 00:10:20,690 --> 00:10:34,000 So let me go ahead and say I have a newer swift fine and I'm going to call it shared shared view controller 150 00:10:34,270 --> 00:10:40,540 protocol or you could just simply call it protocol but since you're you know in the future and you make 151 00:10:40,540 --> 00:10:44,740 larger applications you need to know exactly which one it is. 152 00:10:44,740 --> 00:10:52,360 So in here in my new file I'm going to say I have a protocol and that is protocol is essentially called 153 00:10:52,450 --> 00:10:56,990 Shared View Controller delegates. 154 00:10:57,010 --> 00:11:01,420 Now the reason I call it delegate is because that's a very common practice. 155 00:11:01,420 --> 00:11:08,000 You don't have to call it delegate but if you remember this one it's called you a text field delegate. 156 00:11:08,110 --> 00:11:12,820 The other one was called you a picture of you delegate is a very common practice. 157 00:11:13,000 --> 00:11:22,590 And my delegation has only one function that function says fetch text and the text has no argument as 158 00:11:22,590 --> 00:11:27,780 a parameter that is a key value which is a string. 159 00:11:28,200 --> 00:11:32,610 And of course the functions inside protocols they don't have a body. 160 00:11:32,610 --> 00:11:34,650 They just have a declaration. 161 00:11:34,650 --> 00:11:36,090 So does my protocol. 162 00:11:36,190 --> 00:11:38,190 Has only one function. 163 00:11:38,190 --> 00:11:40,220 Now how are we going to use this. 164 00:11:40,230 --> 00:11:46,120 I'm going to go into my shared view controller and see my share the view controller has a value event 165 00:11:46,160 --> 00:11:51,840 called delegate which is of the type share to view controller delegate. 166 00:11:51,960 --> 00:11:58,830 So this is the delegate from the same type and we can call it whenever we want it. 167 00:11:59,130 --> 00:12:00,540 So when do we want to call it. 168 00:12:00,570 --> 00:12:06,660 You want to call the delegation every time the text field returns so I want to say delegate DOT and 169 00:12:06,660 --> 00:12:12,750 the only function that it has is important to me is fetch text and it's got the same value you're trying 170 00:12:12,750 --> 00:12:13,560 to fetch takes. 171 00:12:13,560 --> 00:12:15,030 What is the text. 172 00:12:15,030 --> 00:12:18,920 The text is text field not text value. 173 00:12:19,140 --> 00:12:21,150 So what they have done here is this. 174 00:12:21,150 --> 00:12:28,010 I've said there is a delegation method that features text and sends it to another delegate. 175 00:12:28,050 --> 00:12:32,350 This guy shared the view delegate whoever conforms to here. 176 00:12:32,490 --> 00:12:36,770 Now nobody so far conforms to here so far. 177 00:12:36,770 --> 00:12:42,300 We just send the message to our delegation so let's go ahead and find someone who actually conforms 178 00:12:42,300 --> 00:12:44,640 to here and those are these guys. 179 00:12:44,640 --> 00:12:47,700 Their view controller and the next view controller. 180 00:12:47,730 --> 00:12:50,010 They both have to conform to this. 181 00:12:50,040 --> 00:12:57,000 Some were go to view controller and say you my view controller shared view controller delegate is a 182 00:12:57,000 --> 00:13:02,730 protocol in here now it should give me an error saying that hey you have to implement that function 183 00:13:03,000 --> 00:13:04,380 and that's exactly what they want. 184 00:13:04,470 --> 00:13:08,840 I want this function to be in here and here's what I want to happen in it. 185 00:13:08,950 --> 00:13:15,550 Every time that this function sends me a text I want to put that text in my label so I'm going to say 186 00:13:15,590 --> 00:13:22,110 main label dot text becomes whatever you got me. 187 00:13:22,110 --> 00:13:23,850 And that's all I have to do in here. 188 00:13:23,880 --> 00:13:29,670 You actually after the exact same thing for the next view controller the memory format is in here so 189 00:13:29,670 --> 00:13:35,100 it's a bit tidier and cleaner so we don't have a lot of code going all around. 190 00:13:35,220 --> 00:13:43,080 So that's that and since I'm being very lazy I'm actually going to copy everything just like this to 191 00:13:43,080 --> 00:13:43,890 the other sites. 192 00:13:43,900 --> 00:13:51,000 I'm going to say all of these copy go to a next view controller and say paste everything for the next 193 00:13:51,000 --> 00:13:51,860 few controller. 194 00:13:51,860 --> 00:13:58,440 Again I have the main label a gain I'm conforming to share the view controller delegate a gain because 195 00:13:58,440 --> 00:13:59,970 of the Shared Value control that I get. 196 00:13:59,970 --> 00:14:06,750 I have to call this function and everything in this function gets called whatever value it finds we 197 00:14:06,750 --> 00:14:08,700 put in the main label. 198 00:14:08,700 --> 00:14:14,280 Now let's do a quick recap of everything we have done so far and try to understand what we still need 199 00:14:14,280 --> 00:14:15,270 to do. 200 00:14:15,270 --> 00:14:22,530 So we have a shared view controller protocol that this protocol called a delegate is essentially having 201 00:14:22,530 --> 00:14:29,580 one function that the one function gets called every time the shared one the middle one essentially 202 00:14:29,580 --> 00:14:35,520 has its text field should the return called when that is called it finds the value of the text field 203 00:14:35,910 --> 00:14:39,520 and places it within its delegate that delegate. 204 00:14:39,570 --> 00:14:42,600 It's a valuable of the same type. 205 00:14:42,630 --> 00:14:47,880 It's an optional day event and it is not yet initialized. 206 00:14:47,880 --> 00:14:52,620 This is a very important point yet not initialized. 207 00:14:52,620 --> 00:14:58,050 The reason I'm typing this in here is because I want to draw your attention to it that no one has called 208 00:14:58,110 --> 00:15:02,510 this delegation yet and that is the last step in our project. 209 00:15:02,670 --> 00:15:03,890 So we have to do that. 210 00:15:04,080 --> 00:15:10,560 Now let's assume that is working and if that is working every time the delegate fetches a text it pushes 211 00:15:10,560 --> 00:15:17,400 that takes to whoever has initialized that and hopefully that whoever is the view controller which is 212 00:15:17,400 --> 00:15:20,940 gonna show it to us now it becomes a matter of. 213 00:15:21,150 --> 00:15:27,780 Well there is this delegation going to become initialized who is going to be calling this delegation 214 00:15:28,140 --> 00:15:28,760 to do that. 215 00:15:28,770 --> 00:15:31,320 I'm going to go to my viewpoint order and write this. 216 00:15:31,650 --> 00:15:35,130 I say prepare for Segway. 217 00:15:35,520 --> 00:15:39,060 So now you might be wondering why are we preparing for a Segway. 218 00:15:39,060 --> 00:15:41,480 The reason is this you know a storyboard. 219 00:15:41,490 --> 00:15:46,280 We have a Segway going between this view and that view controller. 220 00:15:46,290 --> 00:15:52,110 We have another Segway going between this view the green one and the shared view controller. 221 00:15:52,150 --> 00:15:56,070 There's the skip the one in the middle for now because that's not the one we actually care about. 222 00:15:56,100 --> 00:15:58,790 These two are the ones that we care about them. 223 00:15:58,800 --> 00:16:02,340 So one of them is from the main view controller to the shared. 224 00:16:02,370 --> 00:16:04,510 The other one is from the Green to the shed. 225 00:16:04,800 --> 00:16:06,740 So let's call them the first one. 226 00:16:06,750 --> 00:16:11,050 I'm going to call it white. 227 00:16:11,080 --> 00:16:13,110 Two shared I.D.. 228 00:16:13,550 --> 00:16:17,140 So that's a white t shirt idea and this one is the green. 229 00:16:17,150 --> 00:16:18,350 Two shared ideas. 230 00:16:18,350 --> 00:16:22,820 I'm going to paste that and say that actually says Green. 231 00:16:22,880 --> 00:16:24,420 Two shared ideas. 232 00:16:24,530 --> 00:16:30,230 So both of these are essentially saying based on whatever we want to do for them we can do it within 233 00:16:30,230 --> 00:16:32,210 the prepare for a Segway. 234 00:16:32,240 --> 00:16:43,400 So I'm going to come to my view controller say if Segway dot identifier is a data value here is what 235 00:16:43,400 --> 00:16:44,280 I want you to do. 236 00:16:44,300 --> 00:16:52,340 I want you to say let's share V.C. to become Segway. 237 00:16:52,340 --> 00:16:55,330 That destination as. 238 00:16:55,560 --> 00:16:59,620 And I'm going to get it as shared the view controller. 239 00:17:00,020 --> 00:17:02,320 And then I want you to say share. 240 00:17:02,340 --> 00:17:05,140 Do we see that delegate to here. 241 00:17:05,960 --> 00:17:11,210 So this is the first time this delegation is actually being implemented. 242 00:17:11,260 --> 00:17:19,820 This is the first time someone is actually saying well if you made any calls to a function I will respond. 243 00:17:19,820 --> 00:17:22,450 Let's see that a little bit more visually. 244 00:17:22,580 --> 00:17:25,040 If you made a call to a function. 245 00:17:25,040 --> 00:17:25,640 Who is that. 246 00:17:25,640 --> 00:17:25,910 Who. 247 00:17:25,940 --> 00:17:33,520 This is the shared we see if shared we see made a call to a function which is this one fetch text. 248 00:17:33,590 --> 00:17:38,350 Someone has to respond and that someone is the view controller here. 249 00:17:38,450 --> 00:17:41,750 It says if you made the call to that I will respond to it. 250 00:17:41,750 --> 00:17:49,000 I will do something that thing in this case is fetching the value and placing it in a labor. 251 00:17:49,010 --> 00:17:55,580 Now they have that they can essentially copy this entire thing the way it is to my green view controller. 252 00:17:55,580 --> 00:17:56,870 I'm going to say Copy. 253 00:17:56,870 --> 00:18:02,510 You don't always get this like you because obviously I plan this things in advance but for you you might 254 00:18:02,510 --> 00:18:04,140 want to do different things. 255 00:18:04,310 --> 00:18:07,010 But for me and my next view controller. 256 00:18:07,010 --> 00:18:15,170 When I'm preparing for a Segway if that secret identifier was green to shared I.D.. 257 00:18:15,200 --> 00:18:22,160 If that was the case then get the shared V.C. to be the same as the shared view controller and delegated 258 00:18:22,160 --> 00:18:24,860 to here and will be delegated to here. 259 00:18:24,980 --> 00:18:26,780 We can call this function. 260 00:18:26,840 --> 00:18:29,210 Now let's go ahead and try our application. 261 00:18:29,210 --> 00:18:34,850 If it all works I should be able to type something in the text field of the shared view controller and 262 00:18:34,850 --> 00:18:35,990 fetch its value. 263 00:18:35,990 --> 00:18:38,410 Show it on my labels. 264 00:18:38,450 --> 00:18:41,610 Let's go ahead in here and say hi. 265 00:18:41,980 --> 00:18:44,180 Let's enter that says Hi. 266 00:18:44,270 --> 00:18:46,730 Let's go to the next one in here. 267 00:18:46,730 --> 00:18:48,920 Say hi hit enter. 268 00:18:48,920 --> 00:18:49,770 That's 1 6. 269 00:18:49,770 --> 00:18:50,560 Hi. 270 00:18:50,600 --> 00:18:54,140 So that was an introduction to container views. 271 00:18:54,230 --> 00:18:57,650 Doing a lot fit delegations as well as protocols. 272 00:18:57,650 --> 00:19:02,900 It wasn't an all round you know application with a lot of things that we have done in the past and we 273 00:19:02,900 --> 00:19:06,530 get a sense of doing a quick review over them. 274 00:19:06,710 --> 00:19:09,440 Let me know if you have any questions and let's move on.