Win a Free Class!

Join our email list for a chance to win

iOS App Development Intensive

This course will enable you to build your very own iPhone or iPad apps using Swift 4 and Xcode 9. We'll start from the beginning, covering basic programming concepts in Xcode playgrounds. We'll move into advanced topics through the buildng of apps with step-by-step exercises. ​Concurrent with class projects, you will work on your own final project as homework, and receive guidance on that project from the instructor. 

During this 10-week course we'll cover iOS, Swift, and XCode. You will learn: 

  • Swift and XCode
  • App architecture
  • ​App styling​
  • Auto layout to build a user interface for iPhone and iPad
  • Various controller types such as view controllers, table view controllers, scroll view controllers, split view controllers, and page view controllers. 
  • Handling of image assets
  • Core Data
  • Store and parse data in the cloud using an app 
  • MapKit
  • Use of timers, sounds, ​local notifications, ​and alerts
  • ​Use of buttons, taps, and gestures​
  • App logic
  • Debugging apps 

The class does not require previous programming experience. However you should have at least some experience with code such as HTML/CSS. The more coding experience you have coming into this class the better. If you DO have programming experience, even better. To add apps developed in class to your personal device or to the app store you will need an Apple Developer account that costs $99, which we will set up in class. While we do supply computers in our classrooms, you may want to bring your own Mac laptop so you can easily continue to work on your projects at home.

Upcoming Classes

Price: $3000 Click for Discounts

  • 60 hours of Hands-On Training
  • Custom Written Workbook Included
  • Mac ONLY

What You’ll Learn

Week 1
Introduction to Tools of the Course

Topics

  • XCode
  • iOS
  • Swift
Hello World App
Roll The Dice App
The Swift Programming Language

Topics

  • The Swift Playground
  • Comments
  • The println() function
Variables

Topics

  • Variables
  • Constants
  • Data types
  • Optionals
  • Type inference
Conditional Statements & Operators

Topics

  • The if statement
  • The else statement
  • The else if statement
  • Comparison operators
  • Arithmetic operators
  • Logical operators
Strings

Topics

  • Literals
  • Mutable strings
  • Comparing strings
  • Concatenating strings

Week 2
Tip Calculator App
Functions

Topics

  • Functions with parameters
  • Functions with returned values
Optional Unwrapping

Topics

  • Forced optional unwrapping
  • Implicitly unwrapped optionals
  • Optional binding
Loops

Topics

  • For loops
  • While loops
  • For in loops
  • Iterating over arrays
Creating a Class

Topics

  • Object-oriented programming
  • Objects & classes
  • Methods
  • Properties
Methods

Topics

  • Methods with parameters
  • Methods with return values
Structs

Topics

  • Creating a struct
  • Accessing a struct
Inheritance

Topics

  • Creating a subclass
  • Method overriding
Extensions

Topics

  • Extending existing classes
  • Using extensions
Protocol & Delegates

Topics

  • Defining & implementing protocol
  • Delegate design pattern
  • Implementing & using delegates
Closures

Topics

  • Defining a closure
  • Closures with parameters
  • Closures with returned values
  • Closures as callbacks
Week 3
ENUMS

Topics

  • Creating & using enumerations
Type Casting

Topics

  • Type checking
  • Type casting
  • Downcasting
Tuples

Topics

  • Creating & using tuples
Type aliases

Topics

  • Creating & using type aliases
ARC

Topics

  • Strong & weak references
  • Avoiding strong reference cycles
Card War App

Topics

  • Importing the images
  • Adding the button that draws the cards
  • Labeling the deck & each player’s score
  • Adding constraints to our labels
  • Adding a button to restart the game & constraining it
  • Adding & constraining the background image
Week 4
Auto Layout

Topics

  • Stacks
  • Nested Stacks
  • Downcasting
  • Constraints
  • Content Hugging Priority
  • Compression Resistance Priority
Card War: The Data Model & Linking the UI to Code

Topics

  • Connecting the UI to the View Controller
  • Modeling a single card by adding a Card class
  • Modeling all the cards by adding a Deck class
  • Adding the shuffle functionality
Card War: Adding Variables to the View Controller

Topics

  • Declaring variables
  • Responding to changes in a variable’s value using the didSet property observer
  • Starting with the drawingCards function
Card War: Displaying the Cards & Score

Topics

  • Creating the UIImageViews that will hold the cards
  • Setting the size & position of the cards that are drawn
  • Revealing the cards & updating the winner’s score
  • Defining what happens when the game is restarted
Card War: Animating the Cards

Topics

  • Animating the cards’ move from the deck button to their respective positions
  • Revealing the cards’ values after they are done moving
  • Revealing the cards’ values with a flipping transition
  • Incorporating the final code into the animation

Week 5
Building the Lists App
Previewing on iPhone without Developer Account
Establishing an Apple Developer Account

Topics

  • Creating an Apple Developer Account
  • Registering your device to run apps directly from Xcode
Lists: UI with Two View Controllers That Display Table Cells

Topics

  • Creating files for a dual View Controller app
  • Adding a Navigation Controller to manage our two views
  • Adding UI elements to the first View Controller
  • Constraining the UI objects on the first View Controller
  • Copying the first View Controller to create the second
Lists: Refining & Beautifying the UI

Topics

  • Adding images from the designer
  • Improving the UI design on our Storyboard screens
  • Differentiating the two View Controllers
  • Setting View Controller & Table View Cell classes
Outline Your App Idea
Week 6
Building the Lists App, Continued
Lists: The Data Model & Linking the UI to Code

Topics

  • Cleaning up the View Controller & Table View Cell files
  • Connecting both UI screens to their respective files
  • Creating List & List Item classes in the data model
Week 7
Weather Forecast App

Topics

  • Acquiring an API Key
  • Using the Weather Underground API
  • Reading JSON
  • App Transport Security Settings
  • Adding Error Messages
  • Linking to an Outside Website
  • Completion Handlers
  • Do... Catch
  • Converting Strings into Floats
  • Displaying the Keyboard in the Simulator
  • Dismissing the Keyboard

Week 8
Met Gallery App Part 1
Met Gallery: Assets, Launch Screen, & Home View Controller

Topics

  • Creating files for a multiple View Controller app
  • Adding assets & using the Assets Catalog
  • Creating a launch screen
  • The Home View Controller & UI elements
  • Adding constraints to the UI elements
  • Connecting the View Controller to its code file
Met Gallery: View Controller with a Collection View

Topics

  • The gallery view controller UI
  • Refining the collection view
  • Connecting the view controller to its respective files
Met Gallery: The Painting Detail View Controller

Topics

  • Adding the UI objects to the Painting Detail VC
  • Constraining the UI objects
  • Adding Swipe & Tap Gesture Recognizers
  • Connecting the View Controller to its code file
Final Project: Start Coding!
Week 9
Met Gallery App Part 2
Met Gallery: Full Screen View Controller with a Scroll View

Topics

  • Creating the full screen painting View Controller
  • Setting size classes
  • Constraining the scroll view & connecting the code
Met Gallery: Adding a Spinner, Data Model, & Gallery VC

Topics

  • Adding a Spinner
  • Creating the data model
  • Adding the Collection View methods
Met Gallery: Painting Detail & Adding Gesture Recognizers

Topics

  • Loading the painting details
  • Refining the Image View
  • Making the online reference button functional
  • Segueing to the full screen scroll view
  • Adding the image to the full screen view
  • Implementing the swipe gestures
Work on Final Project
Week 10
Course Wrap Up
Test Flight and Submitting to the App Store
Final Projects
Final Project Presentations

Why Train With Noble?

26 Years of Experience

Noble Desktop has been teaching computer graphics and web development since 1991. In all those years we have perfected the craft of teaching. If students get hung up on any issue, we tweak the class to make it work better. Every instructor uses the same time-tested curriculum we have developed. Ask around: Noble Desktop has a stellar reputation for exceptional computer graphics training.


Our Teaching Method is Better

We don't ask you to simply "follow along," copying what the instructor does. Instead we ask you to focus 100% attention on the lesson at hand. Only after the lesson do you then put into practice what you have learned by working on a computer with our step-by-step workbooks. This "learn, then practice" method results in the student learning and retaining much more than traditional "follow along" classes.


We Wrote the Book Ourselves

Most of our classes include a custom training workbook written by our top instructors. Take it home with you: with step-by-step exercises and power-user keyboard shortcut guides, it’s like having a refresher course right on your desk. We wrote the book ourselves because we couldn't find any book that was good enough. Now our books are being used by other schools and training centers worldwide.


We Provide Computers, Mac or PC

Since when did training centers expect you to "bring a laptop"? Noble Desktop has always had classrooms full of computers, Mac and PC. Each computer is loaded with software and has a 19-inch monitor. The next time you are asked to "bring a laptop," ask why you aren't being provided a computer. Noble Desktop always has up-to-date equipment in our state-of-the-art classrooms.


Not Just Anyone Can Teach

All our instructors are working professionals who bring on-the-job experience to the classroom. But we don't just let anyone teach a course. How many experts do you know who can't teach? We've learned to audition and test our instructors. Only after they have been through our screening process will they be put in front of students. And they are required to use our time-tested curriculum, assuring a positive learning experience for all our students. Read our instructor bios.


Money-Back Guarantee

We’re the only school to offer an unconditional money-back guarantee. If you don’t absolutely LOVE your class, we’ll give you a full refund! Compare that to other "schools" that have a no-refund policy. Is that even legal? It certainly isn't right. At Noble we treat our students with respect and common sense.


We Are NY State-Licensed, and Adobe Authorized

When looking at a computer training school, check to see if they are NY State-licensed. Any school in New York should be licensed by law. Noble Desktop follows state-issued guidelines for curriculum development and teacher licensing. Adobe Authorized means our instructors have passed the rigorous Adobe Certification Exam, and that we follow Adobe's quality-control standards.


Our Students Love Us! 2100+ Testimonials and Counting

We offer our guarantee because we think we’re the best—but don’t take our word for it. Ask more than 2100 industry professionals who have enjoyed our classes and are putting what they learned to use on the job. Read their testimonials.