Book Image

Swift 2 Blueprints

By : Cecil Costa
Book Image

Swift 2 Blueprints

By: Cecil Costa

Overview of this book

In this book, you will work through seven different projects to get you hands-on with developing amazing applications for iOS devices. We start off with a project that teaches you how to build a utility app using Swift. Moving on, we cover the concepts behind developing an entertainment or social networking related application, for example, a small application that helps you to share images, audio, and video files from one device to another. You’ll also be guided through create a city information app with customized table views, a reminder app for the Apple Watch, and a game app using SpriteKit. By the end of this book, you will have the required skillset to develop various types of iOS applications with Swift that can run on different iOS devices. You will also be well versed with complex techniques that can be used to enhance the performance of your applications.
Table of Contents (15 chapters)
Swift 2 Blueprints
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Displaying the cities' information


The next step is to create a class to store the information received from the Internet. In this case, we can do it in a straightforward manner by copying the JSON object properties in our class properties. Create a new group called Models and, inside it, a file called CityInfo.swift. There you can code CityInfo as follows:

class CityInfo {
    var fcodeName:String?
    var wikipedia:String?
    var geonameId: Int!
    var population:Int?
    var countrycode:String?
    var fclName:String?
    var lat : Double!
    var lng: Double!
    var fcode: String?
    var toponymName:String?
    var name:String!
    var fcl:String?
    
    init?(json:JSON){){){
        // if any required field is missing we must not create the object.
        if let name = json["name"].string,,, geonameId = json["geonameId"].int, lat = json["lat"].double,
            lng = json["lng"].double {
            self.name = name
            self.geonameId = geonameId
            self.lat...