Oct 11, 2016: These videos are updated for Swift 3 and Xcode 8!
If you’re new to programming, you’ll soon discover that with a little practice, it’s not as hard as people make it out to be! You can definitely teach yourself how to code iPhone apps and before you know it, you’ll be submitting your own app into the App Store. Keep reading and I’ll tell you which of my resources and tutorials will help jumpstart your learning!
The Learning Plan
I really believe in a practical approach to learning how to make an iPhone app. I recommend following along with my videos and trying out the practices and samples while learning. I advocate this approach due to my own personal experience with learning iOS programming.
Below is series of lessons designed for people who have no programming experience.
You’ll be introduced to programming terminology, Swift code and iOS development basics one building block at a time. By the end of the following lessons, I guarantee that you’ll be surprised at how much you’ve been able to accomplish from scratch!
Module 1: Basics
In this module, you’ll get an orientation of the development environment, a tiny taste of Swift code and participate in building your very first app!
1. Introduction to the tools and materials
An orientation of the tools and resources used for iOS development.
2. Playgrounds and Swift
An unintimidating dabbling into Swift code!
3. Xcode 8 tutorial and tour
Get acquainted with the development environment where you’ll bring your idea to life!
4. The anatomy of an iPhone app
How’s an app put together? We break it down into the major components.
5. Your first Swift app
Create your first ceremonious “Hello World” app!
Module 2: The art of war
In Module 2, you’ll dive right into creating a simple version of the card game, War.
6. Auto Layout and Stack Views
In this lesson, you’ll see how easy it is to visually create your app interface.
Download the images used in this video here. Card images by Charles Esquiaqui licensed under Creative Commons.
7. Stack Views
In this lesson, you’ll learn about stack views and how they can aid us in laying elements
8. Completing the UI with Auto Layout and Size Classes
In this lesson, you’ll use what you learned about auto layout and size classes and finish adding additional elements to the user interface.
9. Basic building blocks of Swift programming
Learn about object oriented programming, classes, objects, methods and properties.
10. More Swift concepts and UIKit
In this lesson, we go through more Swift programming basics and learn about what UIKit is.
11. Hooking it all up – Swift IBOutlet properties
Now we’re ready to learn how to expose the user interface elements so you can manipulate them with code.
12. Handling button taps – Methods
We’ll go through how to capture a tap on a button so that you can respond to it!
13. Adding and displaying images in your app
Learn how to add images to your Xcode 8 project and display them in your app. You’ll also learn about various images sizes that you need for retina and high resolution displays.
14. Getting a random number and randomizing the cards
War is a game of chance, so we’ll need to know how to generate random numbers. In this lesson, we also learn how to change the card images based on the randomly generated numbers.
15. Using Arrays to manage the card images
This lesson introduces Arrays. It shows you how to use this collection class to improve the way we display the card images.
For reference: Apple’s Swift Programming Language Guide
16. Determining a winner – IF statements
Implement the simple game logic in code to determine a winner.
17. Styling and keeping score
By implementing the score keeping, we’ll learn the importance of understanding scope.
At this point, you’ll have created a working game from having known nothing about programming! I hope this inspires you continue your iOS programming journey and if you had any doubt about whether or not you could do it, I hope that those fears are gone!
From this point onward, I’ll be continuing the lessons in my paid course where you’ll build upon the skills you learned here and create 3 more apps, each one increasing in complexity.
By the end, you’ll have learned the foundational skills of creating iOS apps and become confident with reading and writing code.
Some of the things you’ll learn in the course:
How to read/write Swift code
How to use Xcode 8
How to construct app interfaces
How to use auto layout to position your user elements
How to handle user interaction
How to create multiple screens and navigate between them
How to use various user interface elements such as scrollers (scrollviews), lists (tableviews), buttons etc.
How to display images
How to perform animations
How to play sounds
How to use timers
How to save data
How to parse data feeds to display in your app
How to handle multiple orientations
How to express conditional logic in your app
How to debug and troubleshoot your code
The biggest benefit of this course is that you’ll be able to follow along, building your skills layer by layer and at the end, you’ll no longer be a beginner.
You’ll be able to read/write code and have the confidence to pursue your bigger and more complex app ideas.
The most successful students are those who stick it through
It absolutely makes sense, doesn’t it? If it were easy, then everybody would be an app publisher. There’s this invisible “hump” that beginners struggle with. Some people call this the learning curve.
There’s a struggle to get up and past that hump. After that, it becomes and feels easy!
Here’s how we’re going to get you past that “hump” and make sure that you finish the course and go on to publish apps!
A project based approach is the best way to learn
You’ll be building your iOS programming skills by constructing 4 different apps in increasing difficulty. Each of the apps will introduce new skills and concepts and build upon the previous concepts that were taught.
This is a fun, goal oriented and practical way to learn new concepts and to reinforce material learned in previous lessons.
By the end, you’ll have built 4 fully functional apps on your own!
Staying motivated and keeping yourself accountable
Every lesson has a quiz to test if you’ve learned the key concepts from the lesson.
At the end of each module, there’ll be a “final exam” containing all questions from all the lessons in that module.
Pass the quiz at the end of each lesson to expose the Complete Lesson button which will allow you to track your progress through the course!
Ready to start the course?
Don’t Give Up! I’m Here To Help
Learning anything new is hard and will take lots of practice. It’s natural to get frustrated but don’t give up. In fact, if you haven’t read already, I failed learning iOS programming on my first try! You can read about that here.
If you treat this like you’re learning a new skill (similar to learning to play the piano or learning French), you’ll approach it with some patience, some perseverance and then you’ll find success.