How to write modern iPhone and iPad apps (Four days)
This four day introductory course is for experienced developers who are new to Swift and modern iOS app development.
If your group has more experience with the language or the platform we can customize a Swift - iOS Bootcamp for you.
Contact us at inquiries@dimsumthinking.com to book or inquire about this course for your group, company, conference, or public event.
This course will introduce you to the fundamentals of iOS app development using Swift on Xcode.
The first day of the class will get you up to speed with the Swift Programming language. We spend the day in playgrounds, exploring the ins and outs of programming with Swift.
On day two we dig deeper into idiomatic Swift and work with functions as closures, higher-order functions, sequences, and handling errors.
The third and fourth days introduce iOS application development. We begin with single view, create a UI and connect it to code using the latest techniques introduced for iOS. We work with MVC and MVVM and then move on to apps with multiple scenes. You will learn a variety of methods of presenting and dismissing scenes while communicating information between the view controllers. We'll also look at table views, navigation controllers, and tab bar controllers. We'll take a quick look at Core Data and web services.
You need a Mac running the latest publicly shipping version of Xcode. You'll work with Xcode projects and playgrounds and also the iOS Simulator throughout the course.
Language Fundamentals
Functions
Variables and Constants
Collections
Types and Instances
Classes
Enumerations
Structs
Protocols
Intermediate Concepts
Flexible Functions
Sequences
When Things Go Wrong
Higher-Order Functions
map(), filter(), reduce(), flatMap()
iOS App Fundamentals
Meet Xcode
A simple UI
Outlets and Actions
Communication
Custom UI (Optional)
Multiple Scenes
One App with Two Scenes
Manual Transitions
Segues
Enhance the UI
Modules
Delegates
Table View Based Apps (Optional)
Separating Concerns
Table Views
Nav and Tab Controllers
Core Data
JSON
Custom Cells
Passing Info
Collection Views