This is a list of Swift and general programming/design resources that I have collected since 2016. It started as bare HTML, exported directly from my browser, and I’m working steadily to make it more usable and easier to navigate via Markdown.

General

Apple Docs

  1. The Swift Programming Language (Swift 4.1): The Basics
  2. iOS Human Interface Guidelines
  3. About the iOS Technologies
  4. API Reference – Apple Developer Documentation
  5. Guides and Sample Code

iOS-Dedicated Websites

  1. NSHipster
  2. Ray Wenderlich Tutorials for iOS Developers
  3. Natasha The Robot
  4. Use Your Loaf
  5. Study Swift
  6. Clean Swifter

Learning How To Learn

  1. The Learning Toolbox - Cornell Notes
  2. String Optionals & Notetaking — Margaret E. Ikeda
  3. Janki
  4. Unconventional way of learning a new programming language

Video Talks & Tutorials

  1. objc.io – Swift Talk
  2. Stanford - Developing iOS 9 Apps with Swift - 1. Course Overview and iOS9 introduction - YouTube
  3. Last Year’s RWDevCon 2016 Vault Now Free!
  4. Videos from SwiftConf
  5. GDC Vault – Talks & Slides About Game Development
  6. try! Swift Conference Videos

Comparisons

  1. Swift Is Like Scala
  2. Swift Is Like Kotlin
  3. Swift vs Objective-C

In-person Tech Resources

  1. The Recurse Center
  2. Amazon Loft Space

Design, Development & Engineering

Architecture & Technical Design

  1. Stanford - Developing iOS 9 Apps with Swift - 2. Applying MVC - YouTube
  2. Trygve/MVC
  3. Origins of Model View Controller – Duncan maina – Medium
  4. Looking at Model-View-Controller in Cocoa
  5. iOS Architecture: A State Container based approach – Jobandtalent Engineering
  6. Lighter View Controllers · objc.io
  7. The worst possible application

Programming Paradigms

  1. Introducing Protocol-Oriented Programming in Swift 2
  2. Swift Functional Programming Tutorial
  3. Functional Swift Conference 2017

DSA

  1. Harvard’s CS50 Computer Science Fundamentals
  2. raywenderlich/swift-algorithm-club: Algorithms and data structures in Swift, with explanations!
  3. Code Briefing: A gentle introduction to how the Stack data structure works
  4. Coderbyte – The #1 Website for Coding Challenges
  5. Ninety-Nine Swift Problems
  6. Algorithms Doc on Netflix – The Secret Rules of Modern Living

App Development Process

  1. What You Should Know About The App Design Process
  2. Developing an iOS app on Linux in 2017
  3. Update Apps for iPhone X - iOS - Apple Developer
  4. Cloud9 - Your development environment, in the cloud
  5. BuddyBuild for Mobile Continuous Integration & Deployment

Documenting Code

  1. Documenting Code in Xcode the Right Way - PeterWitham.com
  2. The truth is in the code – freeCodeCamp

Testing

  1. What exactly is a “unit” in unit testing?
  2. Introduction to Unit Tests
  3. Getting Started With UI Tests
  4. Four simple rules for architecting iOS unit tests

UX & UI

  1. The Ultimate UX Design of: the Sign-Up Form - Designmodo
  2. 5 UX Tips for Designing More Usable Registration Forms - Designmodo
  3. ios - Text View Placeholder Swift - Stack Overflow
  4. ios - Drop-down style UIPickerView? - Stack Overflow
  5. Swift iOS Tutorial: UISearchBar and UISearchBarDelegate
  6. SCLAlertView on CocoaPods.org
  7. Authenticate Using Google Sign-In on iOS – Firebase
  8. The Design of Everyday Things: Revised and Expanded Edition: Don Norman: 9780465050659: Amazon.com: Books
  9. Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability (3rd Edition) (Voices That Matter): Steve Krug: 9780321965516: Amazon.com: Books

Visual Design

  1. Styling with Swift – MonitiseMEA – Medium
  2. UI Color - Convert HEX & RGB colors to UIColor
  3. icons8.com
  4. Common Mistakes With Adding Custom Fonts to Your iOS App
  5. App Icon Generator for IOS and Android

Working With Swift

Classes

  1. Swift Tutorial: Initialization In Depth, Part 2/2

Strings

  1. Swift String Cheat Sheet

Closures

  1. Closures in Swift
  2. Escaping and Nonescaping Closures in Swift 3 - Swift Unboxed
  3. Swift Guide to Map Filter Reduce

Dictionaries, Arrays & Sets

  1. Mastering Swift: Tips about array and dictionary literals

Regular Expressions

  1. RegExr: Learn, Build, & Test RegEx

iOS Particulars

JSON & Networking

  1. SwiftyJSON/SwiftyJSON: The better way to deal with JSON data in Swift
  2. NSURLSession Tutorial: Getting Started
  3. openid/AppAuth-iOS: AppAuth is an OAuth and OpenID Connect client for iOS and macOS.
  4. toddmotto/public-apis: A collective list of public JSON APIs for use in web development.

Threading

  1. Dispatch Barriers in Swift 3 – Ömer Yalhı – Medium

Error Handling & Debugging

  1. Magical Error Handling in Swift
  2. Use the debug area to control and inspect your running app - Xcode Help

Notifications

  1. Slide Code

Storage & State

  1. Query Language Used by CoreData
  2. NSPredicate Cheatsheet
  3. C4Q/AC3.2-LocalStorage
  4. Learn iOS 10, Swift 3 Programming - Creating a CoreData Entity : swift
  5. Swift: UserDefaults Protocol – Swift Programming – Medium
  6. Upgrade your TableViews with Loading State in Swift
  1. Using Swift Enumerations Makes Segues Safer
  2. Nicer Reuse Identifiers with Protocols in Swift – Bleeding Edge – Medium

ViewControllers

  1. The UIViewController Lifecycle

Autolayout

  1. Auto Layout Tutorial in iOS 9 Part 2: Constraints
  2. Auto Layout Tutorial in iOS 9 Part 1: Getting Started

Views & Animation

  1. IBInspectable / IBDesignable - NSHipster
  2. Load a UIView from nib in Swift - Stack Overflow
  3. A Beginner’s Guide to Animated Custom Segues in iOS 8
  4. https://raptureinvenice.com/ios-brownbag-view-vs-layers-including-clock-demo/

Paths & Layers

  1. Thinking like a Bézier path
  2. Core Graphics, Part 4: A Path! A Path!
  3. Bezier paths in practice (I): From basic shapes to custom designable controls - Digital Leaves

Video

  1. About AVFoundation
  2. tapharmonic/Learning-AV-Foundation: Sample code for Bob McCune’s Learning AV Foundation book.

Artificial Intelligence

  1. Getting Started with Neural Networks in iOS 10

Tools

Playgrounds

  1. #136: XCPlayground Basics 🎪 - Little Bites of Cocoa - Tips and techniques for iOS and Mac development - Weekday mornings at 9:42 AM

Git

  1. Keeping your forked repo synced with the upstream source · 2buntu
  2. Cleanly Handling a Fork on GitHub - Tab Completion
  3. Great for new contributors

Cocoapod Reference

  1. An Introduction to CocoaPods (Route 85) - YouTube