Skip to content

ignasiperez/100DaysOfSwiftChallenge

Repository files navigation

100DaysOfSwiftChallenge

100 Days of Swift challenge

Days 16-22: Starting iOS

Day(s) Challenge / Milestone Swift Language & Frameworks
16-18 Project01
Storm Viewer
Xcode, Interface Builder, Type Casting.
Foundation:
  Array
  Bundle
  FileManager
  String
UIKit:
  UIImage
  UIImageView
  UINavigationBar
  UINavigationController
  UINavigationItem
  UITableView
  UITableViewCell
  UITableViewController
19-21 Project02
Guess the Flag
Asset catalogs, @2x and @3x images.
Core Animation:
  Modifying the Layer’s Appearance
    CALayer .borderColor .borderWidth
Foundation:
  Array
  random numbers
  String
UIKit:
  Actions
  Auto Layout constraints
  UIAlertController
  UIColor
  UIImage
  UIImageView
  Configuring a View’s Visual Appearance
    UIView .layer
22-22 Project03-C1
Storm Viewer with Sharing
Info.plist, @objc, Photo Library
Core Animation:
  CALayer
Foundation:
  Array
  String
UIKit:
  Actions
  Auto Layout constraints
  UIActivityViewController
  UIAlertController
  UIBarButtonItem
  UIImage
  UIImageView
  UINavigationBar
  UINavigationItem
22-22 Project03-C2
Storm Viewer with Recommendations
Project01
+
UIKit:
  Actions
  UIActivityViewController
  UIBarButtonItem
  UINavigationItem
22-22 Project03-C3
Guess the Flag with Message Score
Project02
+
UIKit:
  Actions
  UIActivityViewController
  UIBarButtonItem
  UINavigationItem

Day 23: Consolidation II

Day(s) Challenge / Milestone Swift Language & Frameworks
23-23 Milestone-P01-03
World Flags
Days 16-22

Days 24-31: Web views, user input, and Auto Layout

Day(s) Challenge / Milestone Swift Language & Frameworks
24-26 Project04-C2
Easy Browser
Delegation, Key-value observing (KVO).
Foundation:
  URL
  URLRequest
UIKit:
  UIBarbuttonItem
  UINavigationBar
  UINavigationController
  UINavigationItem
  UIProgressView
  UIToolbar
WebKit:
  WKNavigation
  WKNavigationDelegate
  WKWebView
24-26 Project04-C3
Easy Browser with table view
Project04-C2
+
UIKit:
  UITableView
  UITableViewCell
  UITableViewController
27-29 Project05
Word Scramble
Closures:
  Weak references
Foundation:
  NSNotFound
  NSString .components(separatedBy:)
  NSRange
  String .firstIndex(of:) init(contentsOf:) .remove(at:)
UIKit:
  UITableView .insertRows(at:with:) .reloadData()
  UITextChecker .rangeOfMisspelledWord(...)
30-30 Project06a
World Flag with Landscape View
Project02
+
Auto Layout: Aspect ratio constraints.
30-31 Project06b
Auto Layout
Programatically Auto Layout:
  Auto Layout Visual Format Language (VFL) technology with constraints metrics and priorities.
  Anchor technology.
UIKit:
  NSLayoutAnchor
   NSLayoutConstraint .constraints(withVisualFormat:options:metrics:views:)
  NSLayoutDimension .constraint(equalTo)
  NSLayoutYAxisAnchor
  UIView .addConstraints(_:) .addSubview() .heightAnchor .safeAreaLayoutGuide .sizeToFit() .translatesAutoresizingMaskIntoConstraints .topAnchor .widthAnchor

Day 32: Consolidation III

Day(s) Challenge / Milestone Swift Language & Frameworks
32-32 Milestone-P04-06
Shopping List
Days 24-31

Days 33-40: Codable, buttons and GDC

Day(s) Challenge / Milestone Swift Language & Frameworks
33-35 Project07
Whitehouse Petitions
JSON.
Foundation:
  Codable
  Data
UIKit:
  UIStoryboard
  UITabBarController
  Specifying Content for Standard Cell Styles
    UITableCell .detailTextLabel
WebKit:
  Loading content
    WKWebView .loadHTMLString(_:·baseURL:)
36-38 Project08
Swifty Words
Text alignment, Layout margins.
Core Animation:
  Modifying the Layer’s Appearance
    CALayer .borderColor .borderWidth
Foundation:
  Iterating Over an Array's Elements
    Array .enumerated()
  Dividing Strings
    NSString .trimmingCharacters(in:)
   Replacing Substrings
    NSString .replacingOccurrences(of:, with:)
UIKit:
  Activate and Desactivate Constraints
    NSLayoutConstraint .activate()
  Configuring the Button Title
    UIButon .setTitle(_:for:)
  Accessing the Control’s Targets and Actions
    UIControl .addTarget(_:·action:for:)
  Creating System Fonts
    UIFont .systemFont(ofSize:)
  Accessing the Text Attributes
    UILable .textAlignment
  Accessing the Text Attributes
     UITextFiled .placeholder
  Configuring a View’s Visual Appearance
     UIView.isHidden
  Managing the View Hierarchy
     UIView .addSubview()
  Getting the Safe Area
    UIView .safeAreaLayoutGuide
  Managing the View’s Constraints
    UIView .addConstraints(_:)
  Creating Constraints Using Layout Anchors
    UIView .heightAnchor .topAnchor .widthAnchor
  Configuring the Resizing Behavior
     UIView .sizeToFit()
  Laying out Subviews
    UIView .translatesAutoresizingMaskIntoConstraints

About

Code from the 100 Days of Swift challenge by @twostraws

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages