1.2 Project Overview
In this lesson, I'll demo the app we're going to build in the course, and I'll show you where to find each of its features in the app source code. I'll also show you how the course repository is structured.
1.Introduction3 lessons, 12:12
2.Animation3 lessons, 21:28
3.Networking3 lessons, 23:55
4.Custom Controls3 lessons, 32:22
5.Conclusion1 lesson, 01:44
1.2 Project Overview
Hi, and welcome back to Go Further with Swift where we build weather app for iOS. In this lesson, I'm going to give you a tour of the finished project and show you the code and the cause repository. All animations are running after the app start, so I'm going to launch it right now. You can see a lot is happening at once. The city name flies from the top, temperature from the bottom and after a little delay, the weather icon appears. The first one is done with view animation. The later ones are layer based animations. You can see that because a little compass is not behaving correctly and is interacting with the city label. All the data is fetched over the network using the open weather map API every time the location updates. Let me change to the location real quick to show you what I mean. There are also custom controls, some hidden, like the weather condition. This is a composite view of two UI kit elements, an image view and a label. There is also a very obvious one which displays the event data in a little compass-like view. This is done with custom layers. Finally, to show you how to use core graphics, I added a canvas where you can draw with your mouse or finger. When looking at the source code, you will have to view controller as the main component of this application. It will contain the animation code and also the callbacks for handling network request, which sets the data under UI components. It uses call location to get the user's coordinates to send to the API. This API is fetched in a separate class that handles all network requests. For our custom controls, I've created three different classes, one for each lesson. You can also look at the storyboard to see it. Unfortunately, Condition View has some problems with auto layout constraints in the storyboard editor. Sometimes this happens. The Wind Direction View is drawn correctly however. And you can also change to preset wind direction in the editor and the view updates. Finally, there is the canvas, which contains a very simple implementation, although the concepts behind it are quite advanced. As always, I create a separate commit for each lesson and also tag the commits with the lesson number. So you can easily find the result of each one. In the next lesson, I'm going to create the Xcode project and basic user interface that we want to use in our app. See you there.