swiftPiscine42

2 weeks of hardcore Swift programming on the edge of your stamina and possibilities

Projects completed so far:

d00 : Calculator

simple int calculator

d02 : DeathNote

Death Note Is a manga in which Light Yagami is the owner of a notebook of death. The person whose name is written in this book dies inevitably. Today you will learn how to create a very simple Death Note simulation application. You will need to be able to display the name, date and description of the death of everybody in it and you will need to be able to add someone. This day will allow you to understand how the table views, that are used extensively in iOS applications, works. It is a way of presenting similar data. This day will also teach you how to change the view on an application and how to go back to an old view.

d03 : APM

This application taught me : • How to use a collection view • How to do a multithread on iOS • How to create alerts • How to use a scroll view All ths application do, is to download images from the internet.

d04 : Tweets

Today you will learn to do HTTP requests to the Twitters’s API on iOS with the goal of creating a client application for Twitter. It will have to display tweets in a table view.

d05 : Kanto

Geolocation is an indispensable weapon of the good iOS developer kit, it is essential to know how to use it. Apple makes available to you different frameworks like MapKit which allows you to use a very simple map or CoreLocation which allows you to manage the user’s location. These 2 frameworks will be your best friends for this day. You will create a geolocation application of several places using: a TabBarController : to organise your different views. a MKMapView : for the map. a CLLocationManager : to geolocate the user. a SegmentedControlBar : to change the style of the map. a MKAnnotationView : to customize the pop-up map.

d06 : MotionCube

Have you ever heard “Don’t put your fingers on the screen!”? Of course today this sentence will have no sense. The disappearence of keyboard in favour of touch screens allows application to expend their interface to not be limited by keyboard keys anymore. As a matter of fact, when you used to play snake on a nokia 3310, we just need 4 keys to direct the snake, everything else is useless. Apple also equiped their devices with different sensors such as an accelerometer, a gyroscope, proximity sensor or a barometer. Therefore it is possible to retrieve user input or environment data thanks to the screen and the device’s sensors. Today you will learn hos to use the UIGestureRecognizer, to retrieve user’s acctions on the screem as well as CoreMotion to get the orientation of the device in an application that will allow you to play with small squares and small circles. This shapes will be subject to the laws of physics like gravity, elasticity and collision using aUIDynamicAnimator.

d07 : Siri

You probably know that already but developpers are righty often and for most pointed as lazy: we will not reinvent the wheel every day if it already rolls perfectly. Today we will talk about pods thanks to Cocoapods ! But what is a pod exactly? A pos is not neither Planet of Death nor The Breeders. A pod is a package and is therefore managed by a package manager, Cocoapods in this case. During the day we will learn how to use pods. Meaning how to install and use them. Today’s objective will be to create a robot more commonly called bot which will give the weather forecast for a provided city. We will use 2 distinct APIs coming from 2 services on which you will have to create an account. • Recast.AI: An API bringing a une API Artificial Intelligence brick for you bot. • Dark Sky: An open API that will allow you to get the forecast weather for a give latitude and longitude. (Formerly Forecast.IO) Find below documentation you will need to finish the day: • Cocoapods documentation • Recast.AI Pod • Dark Sky Pod

d08 : CoreData

Today’s objective will be to create a package that will use the CoreData framework to learn how to use data persistance and models. The aim being to create an article manager that will serve as interface for the D09.

d09 : Personal Diary

Today I will make a personal diary application ! And who says personal means secure. No one will be able to consult it except for me since it will only open with my digital fingerprint or my password thanks to the framework LocalAuthentication ! I will be able to write Articles with a title, a content, a date and even add photos taken with the camera ! And since I am nice, I will make it available in several languages.

rush01 : Plan42

In progress ...