


Read This Playground
Before Each Interview
Download an interview prep playground
We filled a playground with Swift sample code for each language feature from the Swift Study Guide.
If you read this playground before your interview you will load all the Swift syntax and related technical terms into your mind. You'll be alert and quick to respond.

Load Swift syntax into your mind.
Appear knowledgable and quick to respond.

Download requires sign up with email.
It only takes 30 seconds. 🤷🏼♂️
Interview
Preparation Guide
How to prepare for interviews - create a routine

A preview of the PDF
How do you prepare for an interview?
Download our short PDF Interview Preparation Guide and learn some tips on how to structure your time to prepare for an interview.

A preview of the PDF
Start thinking about what might be discussed during an interview and begin rehearsing your answers right away.

A preview of the PDF
Ask yourself, what Swift or iOS topics are they going to ask me?
Architecture and Swift language features are almost guaranteed to be discussed. Make sure you have some practice in speaking about these features to another person out loud.
Immediate download
Every iOS Developer should own as many resources & code examples as they can for future reference, guidance and for when they forget the syntax of certain language features. We hope these downloads help.
Why not upload these resources to your own GitHub.com account and start an online repostiory of coding assets?
💡 We've already supplied a README file for your GitHub.com repos in each download. 👍

The
Swift Cheatsheet ⚡️
A language reference guide
The Swift Cheatsheet ⚡️ is a language reference guide that will help when you have forgotten the syntax for a certain feature while you learn Swift.
It may be quite useful when you first start your new role and you want a document to store your useful code snippets too.


💪
Coding Challenge
TDD Palindrome Checker
A simple coding challenge
In Xcode, open a new project and use TDD to write code for a palindrome checker. Write your unit test first and let it guide you toward constructing your solution. Your tests should check for palindromes and non palindromes.
You can download our solution if it helps.
Download requires sign up with email.
It only takes 30 seconds. 🤷🏼♂️
FREE Members Area - sign up required
Xcode Project
TDDPalindromeChecker.xcodeproj
See our solution to the TDD Palindrome Checker coding challenge. Download it here.
MVC
Architecture Answers
Let's refine our answers about MVC

A preview of the PDF
iOS interviews will have a similar structure and before discussing some of the specific challenges for that specific company you'll probably discuss MVC, MVVM, SwiftUI, Combine, Value & Reference types, copy on write, capture semantics, throwing errors vs using the Result enum and how you feel about TDD and the singleton design pattern!
There are many topics to discuss. But for now, let's discuss what is MVC? And let's rehearse what your answer is when someone asks you.

A preview of the PDF
The Model is the main "thing" that you build! It has all the main code and algorithms that together form the Product.
The View is just something that allows you to gain an insight into what's happening in the Model. Its a visual layer plugged into the Model.
The Controller handles the coordination of Views that are displayed based on the state of the Model. This is a "middle man" between both other layers and ensures the device-specific user experience is working as intended based on the behaviour of the Model.

A preview of the PDF
Even if you have your own "better" definitions than these, use this as an opportunity to rehearse what you would say to each question; What is MVC?
Immediate download


💪
Coding Challenge
TDD FizzBuzz
Refine your skills for a common interview question
In Xcode, open a new project and use TDD to write code to solve the classic FizzBuzz coding challenge. Write your unit test first and let it guide you toward constructing your solution. Your tests should check for the first 101 numbers 0 to 100.
You can download our solution if it helps.
Download requires sign up with email.
It only takes 30 seconds. 🤷🏼♂️
Xcode Project
TDDFizzBuzz.xcodeproj
See our solution to the TDD FizzBuzz coding challenge. Download it here.
FREE Members Area - sign up required
Email Us
Suggestions
Not finding what you need?
Tried all our interview resources?
Not finding what you're looking for?
Need help? Got a question?
Email us to say hello and tell us what we're missing! 👋🏻👋🏽👋🏾


🚀
Coding Challenge
Bug Fix 🔍🐛
A more in-depth coding challenge - fix the unknown bug!
Download this small Xcode project.
Your Task: Fix the bug in the code! 🔍🐛
and tell us, when is the next rocket launch into outer space? 🚀
FREE Members Area - sign up required
Download requires sign up with email.
It only takes 30 seconds. 🤷🏼♂️
Xcode Project
RocketLaunch-App.xcproj
Explore a basic, clean and simple approach to downloading some data. But sadly, the project was left unfinished. Find the 🐛 and get the code working!
The Swift Programming
Language (TSPL) Book
Did you know, Apple wrote a book about Swift?

Topic 1: The Basics
Topic 2: Basic Operators
Topic 3: Strings and Characters
Topic 4: Collection Types
Topic 5: Control Flow
Topic 6: Functions
Topic 7: Closures
Topic 8: Enumerations
Topic 9: Structures and Classes
Topic 10: Properties
Topic 11: Methods
Topic 12: Subscripts
Topic 13: Inheritance
Topic 14: Initialization
Topic 15: Deinitialization
Topic 16: Optional Chaining
Topic 17: Error Handling
Topic 18: Concurrency
Topic 19: Macros
Topic 20: Type Casting
Topic 21: Nested Types
Topic 22: Extensions
Topic 23: Protocols
Topic 24: Generics
Topic 25: Opaque and Boxed Protocol Types
Topic 26: Automatic Reference Counting
Topic 27: Memory Safety
Topic 28: Access Control
Topic 29: Advanced Operators
Each link opens Swift.org to a page in The Swift Programming Language Book.
Apple stopped support for their physical and digital ePub book on Swift version 5.7 and instead now maintain an online HTML version which is often updated.
If you would like to own a copy of the original, including the Xcode playground file (A Swift Tour) distributed with the physical book then you can download it below.
Also,
Now in a Playground!
We converted the book to Xcode Playground Pages
We extracted out the contents of the Swift v5.7 book (The Swift Language Guide section) and converted it into executable Xcode playground pages.
Why not download it to add to your code collection?
The Book:
The Swift Programming
Language (TSPL)
HTML version is maintained by Swift.org

Topic 1: The Basics
Topic 2: Basic Operators
Topic 3: Strings and Characters
Topic 4: Collection Types
Topic 5: Control Flow
Topic 6: Functions
Topic 7: Closures
Topic 8: Enumerations
Topic 9: Structures and Classes
Topic 10: Properties
Topic 11: Methods
Topic 12: Subscripts
Topic 13: Inheritance
Topic 14: Initialization
Topic 15: Deinitialization
Topic 16: Optional Chaining
Topic 17: Error Handling
Topic 18: Concurrency
Topic 19: Macros
Topic 20: Type Casting
Topic 21: Nested Types
Topic 22: Extensions
Topic 23: Protocols
Topic 24: Generics
Topic 25: Opaque and Boxed Protocol Types
Topic 26: Automatic Reference Counting
Topic 27: Memory Safety
Topic 28: Access Control
Topic 29: Advanced Operators
View in iBooks
Each link opens swift.org/swift-book/ to a page in The Swift Programming Language Book (Online version).
Apple stopped support for their physical and digital ePub book from Swift version 5.7. Instead, they now maintain an online HTML version (which is often updated).
If you would like to own a copy of the original, including the Xcode playground file (A Swift Tour) distributed with the physical book then download it below.

Professionally-Structured
Xcode Project
Download an example of a tidy & organised Xcode project
Sometimes it's nice to see an example.
TDD Xcode Projects can appear untidy and complicated making it pretty difficult to read or understand how to code communicates and is structured.
This download is an Xcode project (UIKit & SwiftUI) that uses the coursework code from 3DaysOfSwift and continued into a full Xcode project.
💡 It was the UIKit version that was submitted to the AppStore.





