iOS Development with Swift
Jack D. Watson-Hamblin
  • MEAP began November 2014
  • Publication in November 2015 (estimated)
  • ISBN 9781633430174
  • 425 pages (estimated)
  • printed in black & white
We regret that Manning Publications will not be publishing this title.

iOS Development with Swift eases programmers into native application development for the iPhone and iPad. You will learn to use Swift and Xcode 6 to create iOS 8 applications with beautiful and intuitive interfaces that respond to different screen sizes. After grasping the core design rules of mobile development, you'll jump into important deeper topics like networking, local storage, maps, and location tracking, fixing performance issues and finding and fixing bugs. Along the way, you'll discover techniques to take precise control over camera features, use finger print detection, monitor health, use voice control and benefit from improved cloud connectivity, and lots more.

Table of Contents detailed table of contents

Part 1 Core concepts

1. Understanding Swift’s Impact

1.1. Why Swift?

1.1.1. A new level of interactivity

1.2. What makes Swift a safe language?

1.2.1. Some types of bugs can be forgotten

1.2.2. Comparing Swift and Objective-C

1.3. Swift’s modern features

1.3.1. More advanced features

1.4. Swift and functional programming

1.4.1. Immutability

1.4.2. Pure functions

1.4.3. First class and higher order functions

1.4.4. Recursion

1.4.5. The type system

1.5. Summary

2. Your First Swift iOS Application

2.1. Creating a project in Xcode

2.2. The Xcode interface

2.2.1. Navigation

2.2.2. Editing code

2.2.3. Utilities

2.3. Saying hello to Interface Builder

2.4. Running your application

2.5. Introducing Auto-Layout

2.6. Summary

3. Exploring Swift

3.1. Variables, Constants, and Data

3.1.1. Variables and Constants

3.1.2. Value types

3.1.3. Collection types

3.2. Functions, Closures, and Operators

3.2.1. String interpolation and operators

3.2.2. Using functions

3.2.3. Creating functions and closures

3.3. Classes and structures

3.3.1. Defining classes and structures

3.3.2. Class and structure initialization

3.3.3. Inheritance

3.3.4. Computed properties

3.3.5. Property observers

3.4. Conditionals and loops

3.4.1. If-else statements

3.4.2. Switch statements

3.5. Iteration with loops

3.5.1. For-in

3.5.2. For

3.5.3. While

3.6. Summary

4. The Power of Playgrounds

4.1. What makes a Playground?

4.2. Prototyping Custom Views

4.3. Using the Timeline

4.4. XCPlayground

4.5. Summary

5. Creating UI Views

5.1. The super class

5.2. Displaying content

5.2.1. Displaying text with labels

5.2.2. Displaying images with image views

5.2.3. Displaying web content with web views

5.2.4. Activity indicators and progress views

5.3. Containers

5.3.1. Scroll views

5.4. Bringing views together

5.4.1. Starting the project

5.4.2. Create the view hierarchy

5.4.3. Styling and laying out the views

5.4.4. Final touches

5.5. Summary

Part 2 Interaction, navigation, and your UI

6. Input, controls, and basic navigation

6.1. Controls

6.1.1. UIControl

6.1.2. Buttons and target-action

6.1.3. Segmented controls

6.1.4. Switches

6.1.5. Steppers

6.2. Inputs

6.2.1. Text fields

6.2.2. Sliders

6.2.3. Date pickers

6.3. Bars and bar button items

6.3.1. Types of bars

6.3.2. Bar button items

6.4. Navigation

6.4.1. Navigation controllers

6.4.2. Segues in Interface Builder

6.4.3. Passing data around

6.5. Summary

7. More navigation

8. Table views, delegates, and data sources

9. Auto-Layout

10. Core Graphics and attributed strings

Part 3 The powerful device tech

11. Animation

12. Basic CoreData

13. Networking

14. CoreLocation and MapKit

15. App extensions

Part 4 Debugging and testing

16. Debugging in Xcode 6

17. TDD with XCTest

18. Instruments

About the Technology

iOS 8 includes over 4000 new APIs and services, opening up many new possibilities for your iPhone and iPad apps. That's great, but the REALLY BIG news is Swift, Apple's brand new programming language designed specifically for developers creating iOS apps. Swift introduces a clean syntax designed for safety and speed. Features like automatic memory management, safe variable initialization, and overflow checking make your code faster and less error-prone. Better language integration into the Xcode IDE, interactive playgrounds, and a true REPL make the development experience more pleasant and productive.

What's inside

  • In-depth examples using Swift and Cocoa Touch
  • Write safer and more reliable code
  • Testing and performance tuning
  • Creating adaptive UIs for all screen sizes
  • Location tracking and connecting to other key APIs
  • Integrate Swift into existing Objective-C code

About the reader

Readers should have experience with an OO language like Java, C#, or Objective-C. No prior experience with mobile development or iOS is required.

About the author

Jack Watson-Hamblin has built iOS applications for small shops, start ups, and large enterprises using Objective-C, RubyMotion, and Swift.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.