SkillAgentSearch skills...

100DaysOfSwiftUI

100 Days Of SwiftUI Challenge by Paul Hudson - https://www.hackingwithswift.com/100/swiftui

Install / Use

/learn @emin-grbo/100DaysOfSwiftUI
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Header Header

100DaysOfSwiftUI

100 Days Of SwiftUI Challenge by Paul Hudson -> https://www.hackingwithswift.com/100/swiftui

  • [x] <b>Day 1</b>
  • Variables.
  • Strings and integers.
  • Multi-line strings.
  • Doubles and booleans.
  • String interpolation.
  • Constants.
  • Type annotations.
  • Simple types: Summary.

  • [x] <b>Day 2</b>
  • 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.

  • [x] <b>Day 3</b>
  • Arithmetic Operators.
  • Operator overloading.
  • Compound assignment operators.
  • Comparison operators.
  • Conditions.
  • Combining conditions.
  • The ternary operator.
  • Switch statements.
  • Range operators.
  • Operators and conditions summary.

  • [x] <b>Day 4</b>
  • For loops.
  • While loops.
  • Repeat loops.
  • Exiting loops.
  • Exiting multiple.
  • Skipping items.
  • Infinite loops.
  • Looping summary.

  • [x] <b>Day 5</b>
  • Writing functions.
  • Accepting parameters.
  • Returning values.
  • Parameter labels.
  • Omitting parameter labels.
  • Default parameters.
  • Variadic functions.
  • Writing throwing functions.
  • Running throwing functions.
  • inout parameters.
  • Functions summary.

  • [x] <b>Day 6</b>
  • Creating basic closures
  • Accepting parameters in a closure
  • Returning values from a closure
  • Closures as parameters
  • Trailing closure syntax

  • [x] <b>Day 7</b>
  • Using closures as parameters when they accept parameters
  • Using closures as parameters when they return values
  • Shorthand parameter names
  • Closures with multiple parameters
  • Returning closures from functions
  • Capturing values
  • Closures summary

  • [x] <b>Day 8</b>
  • Creating your own structs
  • Computed properties
  • Property observers
  • Methods
  • Mutating methods
  • Properties and methods of strings
  • Properties and methods of arrays

  • [x] <b>Day 9</b>
  • Initializers
  • Referring to the current instance
  • Lazy properties
  • Static properties and methods
  • Access control
  • Structs summary

  • [x] <b>Day 10</b>
  • Creating your own classes
  • Class inheritance
  • Overriding methods
  • Final classes
  • Copying objects
  • Deinitializers
  • Mutability
  • Classes summary

  • [x] <b>Day 11</b>
  • Protocols
  • Protocol inheritance
  • Extensions
  • Protocol extensions
  • Protocol-oriented programming
  • Protocols and extensions summary

  • [x] <b>Day 12</b>
  • Handling missing data
  • Unwrapping optionals
  • Unwrapping with guard
  • Force unwrapping
  • Implicitly unwrapped optionals
  • Nil coalescing
  • Optional chaining
  • Optional try
  • Failable initializers
  • Typecasting
  • Optionals summary

  • [x] <b>Day 13</b>
  • Variables and constants
  • Types of Data
  • Operators
  • String interpolation
  • Arrays
  • Dictionaries
  • Conditional statements
  • Loops
  • Switch case

REVIEW DAY

  • [x] <b>Day 14</b>
  • Functions
  • Optionals
  • Optional chaining
  • Enumerations
  • Structs
  • Classes

  • [x] <b>Day 15</b>
  • Properties
  • Static properties and methods
  • Access control
  • Polymorphism and typecasting
  • Closures

  • [x] <b>Day 16</b>
  • WeSplit: Introduction
  • Understanding the basic structure of a SwiftUI app
  • Creating a form
  • Adding a navigation bar
  • Modifying program state
  • Binding state to user interface controls
  • Creating views in a loop

  • [x] <b>Day 17</b>
  • Reading text from the user with TextField
  • Creating pickers in a form
  • Adding a segmented control for tip percentages
  • Calculating the total per person

  • [x] <b>Day 18</b>
  • WeSplit - *Challenges

  • [x] <b>Day 19</b>
  • Converter app **MILESTONE

  • [x] <b>Day 20</b>
  • Guess the Flag

  • [x] <b>Day 21</b>
  • Guess the Flag

  • [x] <b>Day 22</b>
  • Guess the Flag - *Challenges

  • [x] <b>Day 23</b>
  • Views and modifiers: Introduction
  • Why does SwiftUI use structs for views?
  • What is behind the main SwiftUI view?
  • Why modifier order matters
  • Why does SwiftUI use “some View” for its view type?
  • Conditional modifiers
  • Environment modifiers
  • Views as properties
  • View composition
  • Custom modifiers
  • Custom containers

  • [x] <b>Day 24</b>
  • Views and Modifiers

  • [x] <b>Day 25</b>
  • Rock, Paper, or Scissors **MILESTONE

  • [x] <b>Day 26</b>
  • BetterRest: coreML project

  • [x] <b>Day 27</b>
  • BetterRest: coreML project

  • [x] <b>Day 28</b>
  • BetterRest: coreML project - *Challenges

  • [x] <b>Day 29</b>
  • Word Scramble

  • [x] <b>Day 30</b>
  • Word Scramble

  • [x] <b>Day 31</b>
  • Word Scramble - *Challenges

  • [x] <b>Day 32</b>
  • Animations

  • [x] <b>Day 33</b>
  • Animations

  • [x] <b>Day 34</b>
  • Animations - *Challenges

  • [x] <b>Day 35</b>
  • Consolidation

  • [x] <b>Day 36</b>
  • iExpense

  • [x] <b>Day 37</b>
  • iExpense

  • [x] <b>Day 38</b>
  • iExpense - *Challenges

  • [x] <b>Day 39</b>
  • Moonshot - Introduction

  • [x] <b>Day 40</b>
  • Moonshot

  • [x] <b>Day 41</b>
  • Moonshot

  • [x] <b>Day 42</b>
  • Moonshot - *Challenges

  • [x] <b>Day 43</b>
  • Drawing day 1

  • [x] <b>Day 44</b>
  • Drawing day 2

  • [x] <b>Day 45</b>
  • Drawing day 3

  • [x] <b>Day 46</b>
  • Drawing day - *Challenges

  • [x] <b>Day 47</b>
  • iHabit **MILESTONE

  • [x] <b>Day 48</b>
  • Video - Expanding your horizons

  • [x] <b>Day 49</b>
  • CupcakeCorner

  • [x] <b>Day 50</b>
  • CupcakeCorner

  • [x] <b>Day 51</b>
  • CupcakeCorner

  • [x] <b>Day 52</b>
  • CupcakeCorner

  • [x] <b>Day 53</b>
  • CupcakeCorner - *Challenges

  • [x] <b>Day 54</b>
  • BookWorm

  • [x] <b>Day 55</b>
  • BookWorm

  • [x] <b>Day 56</b>
  • BookWorm - *Challenges

  • [x] <b>Day 57</b>
  • CoreData

  • [x] <b>Day 58</b>
  • CoreData

  • [x] <b>Day 59</b>
  • CoreData - *Challenges

  • [x] <b>Day 60</b>
  • FriendFace **MILESTONE

  • [x] <b>Day 61</b>
  • CoreData - *NOT DONE

  • [x] <b>Day 62</b>
  • InstaFilter

  • [x] <b>Day 63</b>
  • InstaFilter

  • [x] <b>Day 64</b>
  • InstaFilter

  • [x] <b>Day 65</b>
  • InstaFilter

  • [x] <b>Day 66</b>
  • InstaFilter

  • [x] <b>Day 67</b>
  • InstaFilter - *Challenges

  • [x] <b>Day 68</b>
  • BucketList

  • [x] <b>Day 69</b>
  • BucketList

  • [x] <b>Day 70</b>
  • BucketList

  • [x] <b>Day 71</b>
  • BucketList

  • [x] <b>Day 72</b>
  • BucketList

  • [x] <b>Day 73</b>
  • BucketList - *Challenges

  • [x] <b>Day 74</b>
  • Accessibility

  • [x] <b>Day 75</b>
  • Accessibility

  • [x] <b>Day 76</b>
  • Accessibility

  • [x] <b>Day 77</b>
  • NameFace **MILESTONE

  • [x] <b>Day 78</b>
  • NameFace **MILESTONE+MAP

  • [x] <b>Day 79</b>
  • Hot Prospects

  • [x] <b>Day 80</b>
  • Hot Prospects

  • [x] <b>Day 81</b>
  • Hot Prospects

  • [x] <b>Day 82</b>
  • Hot Prospects

  • [x] <b>Day 83</b>
  • Hot Prospects

  • [x] <b>Day 84</b>
  • Hot Prospects

  • [x] <b>Day 85</b>
  • Hot Prospects - *Challenges

  • [x] <b>Day 86</b>
  • Flashzilla

  • [x] <b>Day 87</b>
  • Flashzilla

  • [x] <b>Day 88</b>
  • Flashzilla

  • [x] <b>Day 89</b>
  • Flashzilla

  • [x] <b>Day 90</b>
  • Flashzilla

  • [x] <b>Day 91</b>
  • Flashzilla - *Challenges

  • [x] <b>Day 92</b>
  • Layout and geometry

  • [x] <b>Day 93</b>
  • Layout and geometry

  • [x] <b>Day 94</b>
  • Layout and geometry - *Challenges

  • [x] <b>Day 95</b>
  • DICE **MILESTONE

  • [x] <b>Day 96</b>
  • SnowSeeker

  • [x] <b>Day 97</b>
  • SnowSeeker

  • [x] <b>Day 98</b>
  • SnowSeeker

  • [x] <b>Day 99</b>
  • SnowSeeker - *Challenges

  • [x] <b>Day 100</b> FINAL EXAM - Distinction!

Related Skills

View on GitHub
GitHub Stars64
CategoryDevelopment
Updated21d ago
Forks8

Languages

Swift

Security Score

80/100

Audited on Mar 13, 2026

No findings