There is no royal road to Swift. βEuclid
- Open Source
- Style
- In-Browser Editors
- References
- Learning Resources
- Books
- Video
- Community
- Programming
- Audio
- Closures and Functions
- Collections
- Command Line and Scripting
- Control Structures
- Concurrency
- Data Structures and Algorithms
- Dates
- Debugging
- Design Patterns and AntiPatterns
- Development Paradigms
- Enums and Pattern Matching
- Error Handling
- Extensions
- FAQs
- Functional Programming
- Functional Reactive Programming
- Generics
- Initializers, Properties, and Dependency Injection
- Interpolability
- Internals
- IO
- Language Comparisons
- Linux
- Optionals
- Pointers
- Problem Solving
- Production
- Protocols
- Protocol Oriented Programming
- REPL
- Security
- Server Side Swift
- Strings and Regular Expressions
- Testing
- Tools
- Types
- Weird Swift
- iOS Programming with Swift
- Mac Programming with Swift
- watchOS Programming with Swift
- tvOS Programming with Swift
- Xcode
- Interview Questions
- Shoutouts
- Apple Master Github Repository π
- Swift Master Repository βοΈ
- Download Swift π
- Core Libs Unimplemented Parts βοΈ
- Swift Core Libs Foundation Repository βοΈ
- Swift Core Libs Dispatch Repository βοΈ
- Swift Clang Repositroy βοΈ
- Swift LLDB Repository βοΈ
- Swift Packages βοΈ
- Swift Compiler Crashes βοΈ
- No Single Swift Style π
- Functional Swift Style Guide π
- The Official Swift Language Docs π
- Swift Language Evolution π π
- Awesome Lists
- π₯ Awesome Swift Playgrounds π
- π₯ Awesome iOS π
- π₯ Awesome Swift π
- π₯ Another Awesome Swift π
- π₯ Awesome Functional Programming π
- Other
- Swift.org π
- Every Operator in Swift π
- SwiftDoc π
- iOS Cookies π
- Pure Swift List π
- iOS Good Practices π
- Little Bites of Cocoa π
- Libraries used in the top 100 Apps π
- Fucking Closure Syntax π
- RAC Marbles π
- Swift Knowledge Base π
- Every Single Option and Swift Compiler Flag π
- Useful Swift .gitignores π
- iOS Programming Library π
- Official Swift Documentation π
- Swift Education Community Repository βοΈ
- iOS Swift Reference βοΈ
- Hacking With Swift π
- A Better way to learn Swift π
- Ray Wenderlich Tutorial Pages π
- Swift Education π
- Play with Swift π
- CS193P: Developing iOS 8 Apps with Swift π
- Realm Roundup: 25 Realm Resources and Tutorials π
- Funcitonal Reactive Programming iOS Learning Resources π
- Learn Core Data π
- Udacity Swift Syntax Course π
- Open Source iOS Apps βοΈ
- Free
- Paid
- Open Source
- Pragmatic iOS Testing π
- Presentations
- All the slides from Swift Summit London 2015 π
- Other Video
- Apps
- Charter Swift Mailing List Client βοΈ
- Blogs
- iOS at Artsy π
- π Objc.io π
- NSBlog with Mike Ash π
- Use Your Loaf π
- Chris Eidhof π
- Ole Begemann π
- Alexandros Salazar π
- Uramio π
- Swift Weekly π
- Erica Sadun π
- Appventure π
- MetalByExample.com π
- NSHipster π
- David Owens π
- The iOS Times π
- Crunchy Development π
- iOS Blog π
- iAchievedIt Blog π
- Coding Explorer Blog π
- 100 Curated iOS Blogs π
- That Thing In Swift π
- Conferences
- Forums
- Jobs
- Meetups
- Meetup.com Swift Meetups π
- Newsletters
- Podcasts
- Repositories
- @autoclosure, @noescape
- @autoclosure, @inline, @noescape, and @noreturn Keywords π
- How to use @noescape π
- How to use @autoclosure π
- How to use @autoclosure parameter in an async block π
- Currying
- Instance methods are Curried Functions in Swift π
- Closures
- Swift Closures Cheatsheet π
- Closures and Capturing Values in Swift π π
- Using Local Closures with Swift π
- Delaying Code Execution through Closures π
- Can we please make a standard style for closures? π
- Closures in API Design π€
- Trailing Closure Syntax π π π π
- Type inference quirks of closures as parameters π
- Style guide for functions with closure parameters in Swift π
- Using Higher Order Methods Everywhere π
- Swift capture lists π
- Variable capture by closures in Swift and inout parameters π
- Callbacks π
- Functions
- Selectors
- Swift: Selector syntax sugar π
- Weak References
- Arrays
- How arrays are implemented in Swift π π π
- Let's Build a Swift.Array π
- Array Structure Reference π
- Swift Arrays and Dictionaries π
- An Array implemented in Swift by Mike Ash π
- Storing generic objects in Swift Array π
- Collections
- Swift Collections π
- Dictionaries
- Enumeration
- SequenceType / GeneratorType
- A quick guide to SequenceType π
- Sequences and Generators in Swift π
- Experimenting with Seqs and Generators π
- Sequence Conformance π
- Sets
- Sets vs Dictionaries in Swift π
- Slices
- Subscripting
- Swift Scripting π€ βοΈ
- Learn Swift by running Scripts π
- Scripting in Swift is Pretty Awesome! π
- How Swift Scripting was used to make iOS Cookies π
- Writing an Xcode Plugin with Swift π
- Make Command Line Applications with Swiftline π
- Swift Command Line Application Template βοΈ
- Using Swift As General Purpose Scripting Language π
- GCD
- Basics of GCD π
- Methods of concurrency β GCD, agents, tasks and invocations π
- Building Responsive and Efficient Apps with GCD π€ πΎ
- Back to the main thread: dispatch_get_main_queue π
- NSOperation
- NSOperation vc Grand Central Dispatch π
- Async
- Actor Model
- Actor Model Concurrency in Swift βοΈ
- Coroutines
- Coroutines in Swift π
- Locaking and Threading
- Swift Break and Continue Statements π
- Custom Control Structures in Swift π
- Loops in Swift π
- Evolutionary/Genetic Programming in Swift βοΈ βοΈ
- Naive Bayes Classifier βοΈ
- Disjoint Sets βοΈ
- Metaprogrammable βοΈ
- SwiftGraph βοΈ
- Fisher-Yates Shuffle for Swift π
- Either Types micro-framework βοΈ
- Arrays
- Data Strucutres
- Graphs
- GraphQL π
- Hash Table
- Hash Table π
- Lists
- Learning
- Math
- Swift Matrix Math Library βοΈ βοΈ
- Tensor Methods in Swift βοΈ
- Abstract Algebraic Structures in Swift 2 βοΈ
- SwiftGL Math Library βοΈ
- Solutions
- HackerRank Solutions in Swift βοΈ
- Sorts
- Write a Generic Stable Sort βοΈ
- Sort Utils βοΈ
- Stacks / Queues
- Banker's Queue π
- Trees
- Rose Tree in Swift π
- Binary Tree βοΈ
- Abstract Binding Trees π
- Red Black Tree π
- A persistent tree using indirect enums π
- Patricia/Radix trees for Swift βοΈ
- A Trie π
- Random Forest βοΈ
- Swiftly getting a human-readable date with NSDateFormatter π
- Swift Date βοΈ
- NSDateFormatter.com π
- Date.Swift βοΈ
- A Calendar π
- Date Programming βοΈ
- LLDB
- Debugging Swift π€
- Debugging Xcode 6 π€
- View Debugging in Xcode π
- Swift Debugging Tips π
- Chisel LLVM Debugging βοΈ
- Swift Name Mangling π
- Debugging with stack traces in Swift π
- Debugging the Swift Compiler π
- The Debug Navigator π
- Debugging your iOS App's HTTP(S) Traffic π
- Meaningful print debugging π
- Activity Tracing π
- DTrace π
- Debugging Magic π€
- AntiPatterns
- Design Patterns
- Template Method Pattern in Swift π
- Strategy Pattern in Swift π
- Design Patterns Library in Swift π
- Creating a Cocoa Bindings Observable Pattern in Swift π
- Observer Pattern in Swift π
- The Sin of Singletons π
- The Null Object Pattern π
- Segues > Delegation π
- Functions as Factories π
- Conform to Objective C Protocols in Swift π
- Optional Protocol Methods π
- The Builder Pattern and Fluent Interface π
- A Better NSNotificationCenter Observer Pattern π π
- Key Value Coding in Swift π βοΈ
- Exploring KVO Alternatives in Swift π π βοΈ βοΈ π
- Facade Functions π
- Swift Singleton βοΈ
- SOLID Design in Swift βοΈ
- Decorator Pattern through composing functions in Swift π
- Target Action Pattern π
- Typed Notification Observers π
- Library Oriented Programming π€
-
- Oriented Programming π€
- Hole Driven Development π
- Entering a New Codebase πΎ
- Railway Oriented Programming in Swift π π€
- Enum Oriented vs Protocol Oriented Programming βοΈ
- Swift in Practice π€ πΎ
- Denotational Design πΎ
- Building Frameworks in Swift π
- Object Oriented Functional Programming π€
- Intro to Object-Oriented Design in Swift π π
- Aspect Oriented Programming with Swift π π βοΈ
- Enums
- Enums in Swift π
- Advanced and Practical Enum Usage in Swift π
- Enumerating Tuple Values in Swift π
- Simplfied Login with Swift Enums π
- Testing of Enums made easy π
- How to compare Enums with Equatable π
- Raw representable enumeration π
- Enums with Associated Data vs Structs π
- The Sum Types are here π
- Algebraic Data Types in Swift π
- Handling Enums with Raw Values π πΎ
- Using Enums as Constants π
- Enums instead of Booleans π
- Enum vs String Type π
- Enum Driven View Controllers π
- Swift Enums: Initialization with Associated Values from a Server Response π
- Pattern Matching
- Official Docs π
- Swift's pattern-matching switch statement π π
- Custom pattern matching in Swift π
- Advanced Swift Pattern Matching in Detail π
- Control Flow & Pattern Matching π
- Ranges and Intervals in Swift π
- More Pattern Matching Examples π π
- What is a variadic parameter? π
- Pattern Matching in Swift π
- Pattern Matching with an if case π
- Pattern Matching with Recursive Values in Swift π π
- What is value binding? π
- The Switch Statement in Swift π
- Guard
- Throw
- Let it Throw! π
- try / catch
- try/catch with asynchronous closures π
- Asserts
- Using the assert() keyword π
- ErrorType
- Testing Swift's ErrorType π€
- Swift 2: Error handling using ErrorType, throws, try and do-catch π
- Result: Swift type modelling the success/failure of arbitrary operations βοΈ
- Other
- ExSwift βοΈ
- Useful Swift Extensions βοΈ βοΈ βοΈ
- Public Extension π
- Adding Class Properties via Extension π
- Type Constrained Extensions in Swift π
- Generic type extension by retrofitting protocols in Swift 2 π
- Type extensions with generic type parameters π
- OptionalExtensions βοΈ
- About Swift
- Swift Documentation π π
- Official About Swift π
- Switching your brain to Swift π
- Short Circuit Evaluation π
- How Swift makes your life better π
- Emerging best practices in Swift π€
- Swift Thinking π€
- Catching up with Swift πΎ
- Idiomatic Swift πΎ
- Are Swift variables atomic? π
- Swiftly Methods π
- Open Source Swift
- Opinions about Swift
- Wishlist for Swift 3.0 π
- The Death of Cocoa π
- Swift is not functional π π
- Which features overcomplicate Swift? What should be removed? π
- Does Apple Swift have enough functional features to be considered as a functional language? Why? π
- What is the bare minimum you need to learn Swift? π
- How flexible is Swift? π
- Swift Versions
- Basic File Reading and Writing Using Swift π
- Read and write data from text file π
- Working with Files in Swift π
- A portable I/O framework for Swift βοΈ
- Declarative Programming
- What is Functional Programming in Swift? πΎ π π πΎ π€
- Functional Programming By Example π
- Make Swift More Functional πΎ
- Introduction to Functional Programming in Swift π πΎ
- Functional Programming in Swift Talks π€ π€ πΎ π€ π€
- Immutable State
- Embrace Immutability π€
- Immutable Swift π
- Map / Filter / Reduce
- Reduce all the things π
- Map and FlatMap demystified π π
- Understanding Reduce in Swift π
- Deriving higher order functions in Swift π
- Reduction in Force π
- Recursion and Infinite Streams
- Lambda Calculus
- Programming is Mathematics π
- Llama Calculus πΎ
- Functors and Applicatives
- Arrows
- Arrows in Swift π
- Monads
- Monoids
- Folds, Zippers, and Lazy Lists
- Promises / Futures
- Combinators
- Lenses, Transducers, Reducers
- Categories
- Yoneda Embedding π
- Other
- π Swiftz Functional Programming Library βοΈ
- Second Bridge Swift Functional Framework βοΈ
- Swiftx Functional Data Types βοΈ
- Basis Pure Declarative Programming in Swift βοΈ
- Functional Concurrency Primitives βοΈ
- Prelude Library π
- Funky Functional Programming Tools and Experiements βοΈ
- Dollar.Swift Functional Toolkit like Lodash and Underscore βοΈ
- SwiftLand MicroFramework βοΈ
- FRP
- Why FRP π
- FRP in Swift 2.0 π€
- Functional Reactive Programming in an Imperative World π€
- FRP is a forbidden term π π
- What is FRP? On StackOverflow π
- State, Promises, and Reactive Programming π€ βοΈ
- Functional Reactive Programming on iOS πΎ
- Delta Library for managing state π
- Functional Reactive Intuition π
- MVVM
- MVVM + FRP π
- RAC
- Rx
- Functional Rective Programming with RxSwift πΎ
- About
- A Sanatorium for Swift Generics π
- Covariance
- Covariant and contravariant generic type parameters π
- Protocol Generics
- Where keyword
- Swift βwhereβ keyword π
- Patterns
- Parametric Polymorphism
- Initializers
- Swift Initializers π
- Be Mindful of Your Filters π
- Swift Initialization and the Pain of Optionals π
- Initializers for Structs π
- Swift init() π
- Public Getter, Private Setter π
- What are get and set? π
- Why is the convenience keyword needed in Swift? π
- When should I use deinit? π
- Designated and Convenience initializers in Swift π
- Writing Class Initalizers π
- Swift Failiable Initializers π
- Definitive Variable Initialization π
- Properties
- Stored Properties
- The Importance of Being Final π
- Named Parameters
- Property Observers
- Property Observers and Lazy Properties π
- Property Observers π
- Swift Property Observers π
- IBOutlets
- Outlets: Strong! Or Weak? π
- IBOutlet Style in Swift π
- Computed Properties
- Beware of Computed Properties π
- How to use swift computed properties π
- Computed Properties and Initializers
- Static Vars are Lazy in Swift π
- Lazy Properties in Structs π
- Stored Properties
- Dependency Injection
- Swift Injection Wesite π
- Dependency Injection with a Custom Initializer π
- C
- Swift and C π€
- Why C is not always safe Swift π
- Objective-C
- Swift & the ObjC Runtime π
- How are NSDictionaries implemented in-memory? π
- Exposing NSMutableArray π
- Source-Code for the Objective-C Runtime βοΈ
- ARC
- ARC + Swift π
- Swift Manual Retain/Release π
- Assembly
- Clang
- LLVM Compiler
- LLVM and Swift π€
- LLVM in Swift: Setup π
- Kaleidoscope: Implementing a Parser and AST in LLVM π βοΈ
- Swift Object Name Demangling π
- How to use LLVM API with Swift π π
- Swift Compiler π
- Parsing Mach-O files π
- How to use LLVM C API with Swift π π
- Creating a Virtual Machine/Register VM π
- What is LLVM and how does it differ from GCC? π
- Memory
- Optimizations
- Performance
- SIL and swiftc
- Explorign SIL and swiftc π
- swift vs swiftc π
- SIMD (Single Instruction Multiple Data) π
- @convention π
- Introspecting Swift πΎ
- Unsafe Swift πΎ
- Type Introspection and demangling π
- Language Comparisons
- Haskell
- Haskell Overlords π
- Learning Swift from Haskell πΎ and corresponding π€
- Functional Programming like Haskell πΎ π€
- Hindley-Milner languages π
- Javascript
- Comparing Swift and Javascript π
- C
- C++
- C++ Advice to Swift Devs π
- C#
- Java
- Swift Protocols vs Java 8 Interfaces π
- Kotlin
- Swift is like Kotlin π
- Android
- How to Start Android Development with an iOS Background π
- Go
- Swift vs Golang πΎ
- Rust
- Ruby
- Swift For Rubyists π€
- Scala
- Swift vs Scala πΎ
- Swift is a lot like Scala π
- Ocaml
- OCaml's Deferred in Swift π
- Python
- Pythonic Swift βοΈ
- Elixir
- Comparing Protocols and Extensions in Swift and Elixir π
- Haskell
- Intro to Swift Dev on Linux π π
- Dynamic Swift Framework Without Xcode π
- Foundation on Linux π
- NSLinux Strings βοΈ
- interact with Linux GPIO/SPI on ARM βοΈ
- Concurrency on Linux π
- Power Linux π
- How I handle Optionals in Swift π
- How to unwrap an optional in 9 different ways π
- Optional Protocol Methods in Pure Swift π
- Swift Optionals Made Simple π
- Every Kind of Optional π
- Pervasive use of Optional in Swift is penance for nil π
- Optionals under the hood π
- Nil coalescing operator π
- Understanding Optional Chaining π
- Swift in Practice π€
- Make a DSL in Swift π πΎ πΎ π€
- Implementing goto in Swift π
- Functional ASCII Art π
- Writing 2048 in Swift π
- Dependency Managers
- Modules and frameworks
- Docker
- Deploy and run Swift Kitura Applications with Docker π
- Docker image that contains all dependencies for building and running the Kitura sample application βοΈ
- Docker for iOS Development βοΈ
- How I'm dockerizing Swift web apps π
- Docker containers used for spinning up different Swift web frameworks π
- Easy Server Side Swift with Docker π
- Swift example to run on Kubernetes βοΈ
- Run Linux Swift on your Mac or PC with Docker π
- Other
- Protocols in Swift π
- Swift Comparison Protocols π
- Standard Template Protocols βοΈ
- Properties of Types Conforming to Protocols π
- Swift Default Protocol Implementations π
- π Protocol-Oriented Programming in Swift π€ πΎ π π π
- POP is OOP Thesis π
- Protocol Oriented MVVM π, πΎ π€
- Functional thinking via Protocol Extensions π
- Protocol Extensions vs Type Extensions π
- What are the advantages? π
- Another look into the concept of P.O.P. π
- If you're subclassing, you're doing it wrong. POP and VOP explained π
- Protocol Oriented Programming through UIKit π
- Protocols in Swift π
- Ray Wenderlich intro to POP π
- Protocol Extensions and the death of the Pipe forward operator π
- How Protocol Oriented Programming could still improve π
- The Swift Protocol Proposal π
- π Mixins and Traits in Swift 2.0 π
- Minimal Swift 2.1 Protocol Coformance π
- Favor Mixins over inheritance π
- Use Protocol Composition π
- Current Recommmended Protocol Usage π
- POP in Swift vs ObjC and C++ π
- POP Utility Belt βοΈ
- Typesafe and Composable Data Sources in Swift π
- Protocol Extension Method Dispatch π
- Weird things you can do with protocol extension π π
- Protocol-Oriented Programming in Networking πΎ
- Improved Protocol-Oriented Programming with Untyped Type Aliases π π
- Encryptor / Decryptor Data Format βοΈ
- CommonCrypto in Swift π€
- Ceaser Cipher in Swift π π
- Swift-ly secure π€
- Common Crypto π
- Reverse Engineering iOS Apps π€
- Security and Your Apps π€
- Make iOS apps more secure with SSL pinning π
- Hello Server Side Swift π
- The case for bringing Swift to the server π
- Vapor Swift Web Framework βοΈ
- Kitura Web Framework and HTTP Server π βοΈ βοΈ
- Swift Redis βοΈ
- TCP Sockets in Swift βοΈ
- Zevo Server Side Swift Community π
- Swift HTTP Servers π βοΈ βοΈ βοΈ βοΈ βοΈ βοΈ βοΈ
- Swift on Rails βοΈ
- Swift Website Example βοΈ
- Write Web Server in Swift βοΈ
- Strings
- Lexing and Parsing
- Abstract Syntax Tree π
- Regular Expressions
- Unit Testing
- TDD
- BDD
- UI Testing
- Network Testing
- Snapshot Testing
- iOS Snapshot Test Cases βοΈ
- Profiling
- Functional Testing
- iOS Testing
- Code Coverage
- Xcode code coverage π
- Code Injection
- Code injection for Xcode π
- Analyzers
- Benchmarking
- Practicing Swift Benchmarks βοΈ
- Continuous Integration
- Using Xcode Bots π
- Continuous Integration for Xcode 6 π€
- Continuous Integration With Xcode Server π
- BuddyBuild Continuous Integration π
- Xcode CI, the missing manual π
- Self-hosted CI :page_Facing_up:
- Build a Swift Pipeline with Jenkins Workflow π π
- Continuous Integrations for iOS Apps :video:
- Code Coverage
- Debugging Tools
- Delivery Tools
- Development Tools
- Docker Tools
- Server Tools
- Heroku Buildpack for Swift βοΈ
- Swift Tools
- Xcode Tools
- Category and Type Theory
- Cheat Sheet For Typeclasses and Monads in Haskell π π π
- Category Theory For Beginners πΎ πΎ
- Category Theory and Progamming π€
- Awesome Math/Category Theory π
- Category Theory in Haskell π
- The Category Design Pattern π
- Type Theory vs Category Theory π π
- MIT Category Theory Class π
- Reference Types
- Value Types
- How can I make a container with copy-on-write semantics? π
- When to use mutating functions in swift structs π
- Mutating Funcs in Swift Structs π
- Making Friends with Value Types π€
- Swift copy-on-write behaviour for a struct using HeapBuffer π
- Swift pass struct by reference? π
- Value Types π
- Fully Value-Typed Arrays in Swift π
- Structs as Data Models π
- Algebraic Types
- Compose Types
- Composing Types π
- Named Types and Compund Types π
- Abstract Types
- Wrapper Types
- Phantom Types
- What are Phantom Types good for? π
- Dependent Types
- Dynamic Types
- DynamicType and MultiMethods π
- Nested Types
- Type Reflection and Casting
- Typecasting and the Swift Runtime π
- Why doesn't Swift have implicit type conversion? π
- as? vs as! π
- Understanding Downcasting Operators in Swift π
- Type check with switch statements π
- Associated Types
- Type Aliases
- Generic Typealiases π
- Metatypes
- Types and Metatypes in Swift π
- Higher Kinded Types π π π π
- Swift MetaTypes π
- Typeclasses in Swift and Scala π
- Creating new Types in Swift π
- What is ExistentialMetatype in Swift π
- Typeclasses
- Typeclasses in Swift, Haskell and Scala π
- Type Inference
- Type Variance
- Type Variance in Swift π
- Other
- Pointers
- Advanced
- Other Swift Attributes you may not have heard of π
- Extinct
- Dropped Patterns π
- Elm Like Architecture
- Functional
- Massive View Controllers
- Refractor the Mega Controller π€
- Preventing Massive View Controllers π€
- Destroying Massive View Controllers π with patterns π
- Lighter View Controllers in Swift π π
- View Controller Thinning π via Dependency Injection π
- Consistent, Thin, & Dumb: Redesigning the Spotify iOS App π€
- 3 Strategies for Skinny VCs π
- Model Layer and Caching
- Model View Whatever
- Viper
- Unidirectional Data Flow
- Ziggurat iOS App Architecture π
- One Way Data Flow Architecture in Swift π€
- Unidirectional Dataflow Architecture with Swift-Flow π€ βοΈ πΎ
- ReSwift Unidirectional Data Flow βοΈ π
- CocoaFlow Architecture π
- Improve your iOS Architecture with FlowControllers π
- Explaining Flux data flow in Swift π
- ReduxKit is a predictable state container for Swift apps π π βοΈ
- Uber Jetstream βοΈ
- Building a Unidirectional Data Flow app with Realm π
- Swift Flow + RxSwift π
- State Machines
- Core Data
- Official Apple Guide π
- What's New in Core Data π€ πΎ
- Pragmatic Core Data π€
- Getting Started with Core Data π βοΈ π€
- Core Competencies π
- A Swift Into To Core Data π
- Moving from ObjC to Swift with Core Data π
- What, if any, ACID gurantees does Core Data Make? π
- Core Data Libraries and NSKeyedArchiver π
- Ditching Core Data for Something else π
- Comparing Core Data Stacks π
- Better Core Data Models with Swift π
- Core Data Threading Demystified π€
- My Core Data Stack π π
- Core Data Tutorial Series π
- Core Data Fundamentals: Exploring the Core Data Stack π
- Pragmatic Core Data π€
- Core Data Migrations Tutorial π π
- Multiple Managed Object Contexts π
- Realm
- Super simple Realm Intro π πΎ π
- A look into Realm's Core DB Engine π€
- Why Realm over Core Data? π πΎ π π
- Official Realm Introduction π
- Realm Tutorial π
- Realm Best Practices π
- Realm Repo π
- Reddit Thread π
- Working with Realm π
- Testing Realm Apps π
- Looking at Realm's Core DB Engine πΎ
- Realm Incremental Store βοΈ
- Migrations in Realm π
- Core Image π
- Functional Parsing
- Efficient JSON Parsing with Functional Concepts π
- { JSON, Swift, and Type Safety } πΎ
- JSON in Swift π
- Swift and JSON: Are we doing it right? π€
- Calling APIs and Parsing JSON with Swift π π
- Parsing Embedded JSON and Arrays in Swift π
- Real World JSON Parsing π
- NSCoding and UserDefaults π
- NSCoding And Swift Structs π
- NSCoder and NSKeyedArchiver :page+_facing_up:
- NSCoder initialization π
- Simple persistent storage π
- How to cache data using NSCache π π
- Animations
- Autolayout
- CollectionViews
- Core Graphics
- Core Graphics Tutorial π
- Core Image
- Core Image Blog π
- Presenting
- Swifty View Controller Presenters π€
- TableViews
- SpriteKit and Metal
- Mixing SpriteKit with UIKit in iOS 9 π
- UIKit
- Networking
- AlamoFire Tutorial π
- SwiftHTTPStatusCodes π
- Calling a REST Api in Swift π
- How to Make REST API Calls and Parse JSON with Swift π
- HTTP in Swift π
- Reachability Library π
- NSURLSession Basics π π π
- Background Downloads π
- An introduction to using Alamofire π
- Moya: Network Abstraction Layer written in Swift βοΈ
- Network data as a Struct π
- Your app and next generation networks π€
- Tiny Networking [:microphone:]](http://www.thedotpost.com/2016/01/chris-eidhof-tiny-networking-in-swift)
- Routing
- Web Services
- About
- Xcode Core Concepts :page_facing_ups:
- Build System
- Interface Builder
- Ray Wenderlich π
- Toptal π
- LeetCode π
- Coding Questions π
- π₯ Awesome Swift Interview Questions π
- π₯ Awesome iOS Interview Questions π
- π = Gist
- βοΈ = Repository
- π = Blog
- π = Blog Post
- π = Quick Reference
- π = Book
- π = Guide Book
- π° = Newsletter
- πΎ = Slides
- π€ = Video Presentation
- πΉ = Video
- π = Link
- π₯ = Awesome List
- π = Learning Resource
- π = Interview Questions
- π» = Podcast
Shoutout to @clattner_llvm, the OG Swift Developer. Shoutout to @chriseidhof for encouraging me to promote this idea and for being a huge baller. Shoutout to @ashfurrow and @bennRodri for being so incredibly helpful. Shoutout to @CodaFi_, the TypeLift, and the AntiTypical teams for promoting FP. Shoutout to Elm Trailblazers. Shoutout to Haskell Devs and Category Theory legends. Shoutout to FutureKit, made by my coworker @michaelgray. And finally, Shoutout to all the Swift Programmers out there, this project is by you and for you!