Skip to content

Repository to store the projects made during the 100 Days of Swift challenge by Paul Hudson of Hacking with Swift.

Notifications You must be signed in to change notification settings

rayanaprata/100DaysOfSwift

Repository files navigation

100DaysOfSwift 📱

Repository to store the projects made during the 100 Days of Swift challenge by Paul Hudson of Hacking with Swift.

Days 1-12: Introduction to Swift

The first 12 days provide a gentle warm up for your Swift learning. You’ll watch about a selection of one-minute videos every day, and complete short quizzes about each of those videos.

  • Variables
  • Strings and integers
  • Multi-line strings
  • Doubles and Booleans
  • String interpolation
  • Constants
  • Type annotations
  • Simple types: Summary
  • Arrays
  • Sets
  • Tuples
  • Arrays vs Sets vs Tuples
  • Dictionaries
  • Dictionary default values
  • Creating empty collections
  • Enumerations
  • Enum associated values
  • Enum raw values
  • Complex types: Summary
  • Arithmetic Operators
  • Operator overloading
  • Compund assignment operators
  • Comparison operators
  • Conditions
  • Combining conditions
  • The ternary operator
  • Switch statements
  • Range operators
  • Operators and conditions: Summary
  • For loops
  • While loops
  • Repeat loops
  • Exiting loops
  • Exiting multiple loops
  • Skipping items
  • Infinite loops
  • Looping: Summary
  • Writing functions
  • Accepting parameters
  • Returning values
  • Parameter labels
  • Omitting parameter labels
  • Default parameters
  • Varidic functions
  • Writing throwing functions
  • Running throwing functions
  • inout parameters
  • Functions: Summary
  • Creating basic closures
  • Accepting parameters in a closure
  • Returning values from a closure
  • Closures as parameters
  • Trailing closure syntax

The least you need to know

  • Using closures as parameters when they accept parameters
  • Using closures as parameters when they return values
  • Shorthand parameter names

Advanced closures

  • Closures with multiple parameters
  • Returning closures from functions
  • Capturing values
  • Closures: Summary
  • Creating your own structs
  • Computed properties
  • Property observers
  • Methods
  • Mutating methods
  • Properties and mathods of strings
  • Properties and methods of arrays
  • Initializers
  • Referring to the current instance
  • Lazy properties
  • Static properties and methods
  • Access controle
  • Structs: Summary
  • Creating your own classes
  • Class inheritance
  • Overriding methods
  • Final classes
  • Copying objects
  • Deinitializers
  • Mutability
  • Classes: Summary
  • Protocols
  • Protocol inheritance
  • Extensions
  • Protocol extensions
  • Protocol-oriented programming
  • Protocol and extensions: Summary
  • Handling missing data
  • Unwrapping optionals
  • Unwrapping with guard
  • Force unwrapping
  • Implicity unwrapped optionals
  • Nil coalescing
  • Optional chaining
  • Optional try
  • Faiable initializers
  • Typecasting
  • Optionals: Summary
  • Variables and constants
  • Types of Data
  • Operators
  • String interpolation
  • Arrays
  • Dictionaries
  • Conditional statements
  • Loops
  • Switch case
  • Functions
  • Optionals
  • Optional chaining
  • Enumerations
  • Structs
  • Classes
  • Properties
  • Static properties and methods
  • Access control
  • Polymorphism and typecasting
  • Closures

About

Repository to store the projects made during the 100 Days of Swift challenge by Paul Hudson of Hacking with Swift.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages