Intro – 01_Objective-C vs. Swift

Intro – 02_Writing Classes in Objective-C

Intro – 03_Methods and Messages in Objective-C

Intro – 04_Porting from Objective-C to Swift (Part 1)

Intro – 05_Porting from Objective-C to Swift (Part 2)

Intro – 06_Common Interop Challenges

Intro – 01_Interoperability Problem Set

Get Ready to Learn iOS

You will complete a series of coding exercises to test your understanding of Swift. There will be exercises for variables, strings, if (else-if and else) statements, and functions.

Variables and Types

Operators and Expressions

Control Flow

Functions

Structures and Enums

Optionals

Strings

Collections

Object-Oriented Programming

Introduction and Xcode

Build your first app with Swift and Xcode, Apple’s programming environment for app development. You’ll learn how to use AutoLayout, UIButtons, and UILabels to create an interface, and how to react to touch events in an app using ViewController and multiple views. You’ll also learn how to set up audio recording and playback in a voice recording app.

AutoLayout and Buttons

ViewController and Multiple Views

Delegation and Recording

Playback and Audio Effects

Brainstorm Ideas for Your Final App!

Pitch Perfect

What is Version Control

Git course.

Create A Git Repo

Review a Repo’s History

Add Commits To A Repo

Tagging, Branching, and Merging

Undoing Changes

Working With Remotes

Working On Another Developer’s Repository

Staying In Sync With A Remote Repository

Develop Your Personal Brand

LinkedIn Review

GitHub Review

Outlets and Actions

You will create a first version of the MemeMe app that enables a user to take a picture, and add text at the top and bottom to form a meme. The user will be able to share the photo on Facebook and Twitter and also by SMS or email.

View Presentations and Segues

The Delegate Pattern

Build of the MemeMe App

MemeMe The Meme Editor

Table Views

Navigation

Complete the MemeMe App

MemeMe 2.0 The Final Product

Suggested Electives

Introduction to AutoLayout

Suggested Electives AutoLayout

Using AutoLayout

View Properties used by AutoLayout

Beginning StackViews

Positioning Views Constraints

Horizontal Layouts

Vertical Layouts

Beyond AutoLayout

Sketch UI Elements for Your Final App!

Making a Network Request

Incorporate networking into your apps, and harness the power of APIs to display images and retrieve data. Use Apple’s Grand Central Dispatch, or GCD, framework to create asynchronous apps, ensuring a smooth user experience, even while your apps run lengthy operations in the background.

Using Web Services and APIs

Problem Set JSON Parsing

Chaining Asynchronous Requests

Authenticating Requests

Improve Networking with MVC

Preparing for On the Map

Closures Reloaded

GCD and Queues

Backgrounding Lengthy Tasks

On the Map

Suggested Electives

Conduct a Job Search

Refine Your Entry-Level Resume

Refine Your Career Change Resume

Craft Your Cover Letter

Find Web APIs for Your Final App

Debugging, Printing, and Logging

Suggested Electives • iOS Debugging.

Stepping Through Code

LLDB and Breakpoint Actions

Breakpoints and Visual Tools

Simple Persistence

Learn about simple persistence, the iOS File System, and the “sandbox.” Set up the classes we need to get Core Data up and running so that we can create, save, and delete model objects. Enable user interfaces to reactively update whenever the model changes, and safely migrate user data between versions.

iOS File System and Sandboxing

Introducing Core Data

The Core Data Stack

Simpler Code with Core Data

Rounding Out Core Data

Optional Elective Firebase in a Weekend – Saturday

Optional Elective Firebase in a Weekend – Sunday

Optional Elective Firebase in a Weekend – Monday

Virtual Tourist

Introduction to Digital Analytics

Introduction to Firebase Analytics

Implementing In-App Analytics

Analytics Integration

Research

This is your chance to let your iOS Developer skills shine! For this final project, you’ll design and build your own iOS app, taking the design from the drawing board to the App Store.

Build

Reflect

You Decide!

Ace Your Interview

Practice Behavioral Questions

Interview Fails

Land a Job Offer

Interview Practice (iOS)

Principles of Software Design

Selective Electives • Mobile Design Patterns.

Creational Design Patterns

Structural Design Patterns

Behavioral Design Patterns

Software Anti-Patterns

Please Read Before Taking this Course

Introduction and Efficiency

List-Based Collections

Searching and Sorting

Maps and Hashing

Trees

01. Introduction to Functions

To follow along, open up the Functions playground file from the Learn Swift Programming playground collection.

A function is a list of instructions (code) that accomplishes a specific task. You’ve already seen some examples of functions in Swift.

  • print(“Some text”) is an example of calling the print() function which takes a String and prints it out.
  • arc4_random() is an example of a function that generates a random number (useful for rolling dice!).

Why would we need to use functions for our code? Consider the club screening example from the previous lesson. When screening different clubgoers, we simply uncommented each group of variables. If we wanted to screen all the clubgoers at once, we might do something like the following.

var name = "Ayush"
var age = 19
var onGuestList = true
var knowsTheOwner = true
if onGuestList && age >= 21 {
print("(name), come party with us!")
} else if knowsTheOwner {
print("(name), we'll have to take you to the owner.")
} else {
print("Sorry, (name), maybe you can go play Bingo with the Android team.")
}
name = "Gabrielle"
age = 29
onGuestList = true
knowsTheOwner = true
if onGuestList && age >= 21 {
print("(name), come party with us!")
} else if knowsTheOwner {
print("(name), we'll have to take you to the owner.")
} else {
print("Sorry, (name), maybe you can go play Bingo with the Android team.")
}
name = "Chris"
age = 32
onGuestList = false
knowsTheOwner = false
if onGuestList && age >= 21 {
print("(name), come party with us!")
} else if knowsTheOwner {
print("(name), we'll have to take you to the owner.")
} else {
print("Sorry, (name), maybe you can go play Bingo with the Android team.")
}
 

Yikes! Not only is the code a mile long, but if the club ever needs to change its rules, you’d need to remember to update all the conditions. By the end of this lesson, you’ll be able to use functions to make your code much more readable and less prone to error.