Skip to content

JulesMoorhouse/100DaysOfSwift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

100DaysOfSwift

Project Prefixes

  • Pnn - Project
  • PnnX - Project with challenge changes
  • PnnA - Project A
  • Xnn - Full challenge project

Summary of all code

Day 16 / 17
- Folder: P01 StormViewer
- Topics: view controllers, storyboards, FileManager class, UIImageView, UIImage, UITableView, UINavigationBar and more.
- Has a number of images added to the bundle.
- P01 StormViewer/../ViewController.swift
- P01 StormViewer/../DetailViewController.swift
Day 18
- Folder: P01X StormViewer
- Challenge changes from the StormViewer project and interface builder updates, array sorting.
- P01X StormViewer/../ViewController.swift
- P01X StormViewer/../DetailViewController.swift
Day 19 / 20
- Folder: P02 GuessTheFlag
- Topics: Asset catalogs, buttons, colors, array shuffling, random number generation, @IBAction and UIAlertController.
- P02 GuessTheFlag/../ViewController.swift
Day 21
- Folder: P02X GuessTheFlag
- Challenge changes from the GuessTheFlag project, simple UI changes and a new UIAlertController.
- P02X GuessTheFlag/../ViewController.swift
Day 22
- Folder: P03 StormViewerActivity (based on P01 StormViewer aka Project 1)
- Topics: UIBarButtonItem and UIActivityViewController.
- P03 StormViewerActivity/../ViewController.swift
- P03 StormViewerActivity/../DetailViewController.swift
Day 23
- Folder: X01 WorldFlagsViewer
- Milestone project challenge covering projects 1 to 3.
- X01 WorldFlagsViewer/../ViewController.swift
- X01 WorldFlagsViewer/../DetailViewController.swift
Day 24 / 25
- Folder: P04 SimpleBrowser
- Topics: WKWebView, action sheets, UIProgressView, key-value observing and more.
- P04 SimpleBrowser/../ViewController.swift
Day 26
- Folder: P04X SimpleBrowser (based on P04 SimpleBrowser aka Project 4)
- Challenge changes from the SimpleBrowser project, webView navigation and add a UITableView as a new initial screen.
- P04X SimpleBrowser/../ViewController.swift
- P04X SimpleBrowser/../ListViewController.swift
Day 27 / 28
- Folder: P05 WordScrable
- Topics: capture lists and reading files.
- P05 WordScrable/../ViewController.swift
Day 29
- Folder: P05X WordScrable (based on P05 WordScrable aka Project 5)
- Challenge changes from the WordScrable project, refactoring and added UIAlertController etc.
- P05X WordScrable/../ViewController.swift
Day 30
- Folder: P06A GuessTheFlag (based on P02X GuessTheFlag aka Project 2)
- Topics: aspect ratio constraints, Visual Format language and more.
- P06A GuessTheFlag/../ViewController.swift
Day 31
- Folder: P06B Autolayout
- Folder: P06X AutoLayoutAnchors
- Topics: advanced Visual Formatting Language and Auto Layout anchors.
- Challenge changes from the Autolayout project, added further anchors etc.
- P06B AutoLayout/../ViewController.swift
- P06X AutoLayoutAnchors/../ViewController.swift
Day 32
- Folder: X02 - Shopping List
- challenge project.
- Milestone project challenge.
- X02 ShoppingList/../ViewController.swift
Day 33 / 34 / 35
- Folder: P07 WhiteHousePetitions
- Folder: P07X WhiteHousePetitions (based on P07 WhiteHousePetitions aka Project 7)
- Topics: UITabBarController, Data, Codable, UITabBarController and UIStoryboard.
- Challenge changes, add a new UIBarButtonItem + UIAlertController and filter results etc.
- P07 WhiteHousePetitions/../AppDelegate.swift
- P07 WhiteHousePetitions/../ViewController.swift
- P07 WhiteHousePetitions/../DetailViewController.swift
- P07 WhiteHousePetitions/../Petition.swift
- P07 WhiteHousePetitions/../Petitions.swift
-
- P07X WhiteHousePetitions/../AppDelegate.swift
- P07X WhiteHousePetitions/../ViewController.swift
- P07X WhiteHousePetitions/../DetailViewController.swift
- P07X WhiteHousePetitions/../Petition.swift
- P07X WhiteHousePetitions/../Petitions.swift
Day 36 / 37 / 38
- Folder: P08 SwiftyWords
- Folder: P08X SwiftyWords (based on P08 SwiftyWords aka Project 8)
- Topics: Text alignment, layout margins, UIFont, addTarget, enumerated, joined, replacingOccurences and more.
- Challenge changes from P08 SwiftyWords, UI changes and game logic.
- P08 SwiftyWords/../ViewController.swift
- P08X SwiftyWords/../ViewController.swift
Day 39
- Folder: P09A WhiteHousePetitions (based on P07X WhiteHousePetitions aka Project 7) - DispatchQueue.global - async, DispatchQueue.main.async
- Folder: P09B WhiteHousePetitions (based on P07X WhiteHousePetitions aka Project 7) - PerformSelector
- Topics: Grand Central Dispatch, quality of service queues, performSelector() and more.
- An important video on GCD https://www.hackingwithswift.com/read/9/3/gcd-101-async
- P09A WhiteHousePetitions/../AppDelegate.swift
- P09A WhiteHousePetitions/../ViewController.swift
- P09A WhiteHousePetitions/../DetailViewController.swift
- P09A WhiteHousePetitions/../Petition.swift
- P09A WhiteHousePetitions/../Petitions.swift
-
- P09B WhiteHousePetitions/../AppDelegate.swift
- P09B WhiteHousePetitions/../ViewController.swift
- P09B WhiteHousePetitions/../DetailViewController.swift
- P09B WhiteHousePetitions/../Petition.swift
- P09B WhiteHousePetitions/../Petitions.swift
Day 40
- Folder: P09X StormViewer (based on P01X StormViewer aka Project 1)
- Folder: P09X SwiftyWords (based on P08X SwiftyWords aka Project 8)
- Folder: P09X WhiteHousePetitions (based on P0X WhiteHousePetitions)
- Challenge GCD changes to several projects.
- P09X StormViewer/../ViewController.swift
- P09X StormViewer/../DetailViewController.swift
-
- P09X SwiftyWords/../AppDelegate.swift
- P09X SwiftyWords/../ViewController.swift
-
- P09X WhiteHousePetitions/../AppDelegate.swift
- P09X WhiteHousePetitions/../ViewController.swift
- P09X WhiteHousePetitions/../DetailViewController.swift
- P09X WhiteHousePetitions/../Petition.swift
- P09X WhiteHousePetitions/../Petitions.swift
Day 41
- Folder: X03 Hangman
- Milestone project challenge for Projects 7 to 9.
- X03 Hangman/Hangman/ViewController.swift
Day 42 / 43 / 44
- Folder: P10 NamesToFaces
- Folder: P10X NamesTofaces (based on P10 NamesToFaces aka Project 10)
- Folder: P10X StormViewer
- Topics: UICollectionView and UICollectionViewCell, UIImagePickerController, UUID, NSObject subclasses, and fatalError.
- P10 NamesToFaces/../ViewController.swift
- P10 NamesToFaces/../Person.swift
- P10 NamesToFaces/../PersonCell.swift
-
- P10X NamesToFaces/../ViewController.swift
- P10X NamesToFaces/../Person.swift
- P10X NamesToFaces/../PersonCell.swift
-
- P10X StormViewer/../ViewController.swift
- P10X StormViewer/../DetailViewController.swift
- P10X StormViewer/../Storm.swift
- P10X StormViewer/../StormCell.swift
Day 45 / 46 / 47
- Folder: P11 Pachinko
- Folder: P11X Pachinko (based on P11 Pachinko aka Project 11)
- Topics: SpiteKit, SKSpriteNode and SKPhysicsBody
- Challenge changes, use new images, position changes and game logic changes.
- P11 Pachinko/../GameScene.swift
- P11 Pachinko/../GameViewController.swift
-
- P11X Pachinko/../GameScene.swift
- P11X Pachinko/../GameViewController.swift
Day 48 / 49
- Folder: P12 UserDefaults - test project just showing some methods.
- Folder: P12A NamesToFaces NSCoding (based on P10X NamesTofaces aka Project 10)
- Folder: P12B NamesToFaces Codable (based on P10X NamesTofaces aka Project 10)
- Folder: P12X StormViewer (based on P09X StormViewer aka Project 1)
- Folder: P12X GuessTheFlag (based on P06A GuessTheFlag aka Project 2)
- Folder: P12X WordScrable (based on P05X WordScrable aka Project 5)
- Topics: UserDefaults, NSCoding (Objective C compatible), Codable (Not Objective C compatible), NSKeyedArchiver, NSKeyedUnarchiver, JSONEncoder and JSONDecoder
- Challenge changes, update older projects and add UserDefaults.
- P12 UserDefaults/../ViewController.swift
-
- P12A NamesToFaces NSCoding/../ViewController.swift
- P12A NamesToFaces NSCoding/../Person.swift
- P12A NamesToFaces NSCoding/../PersonCell.swift
-
- P12B NamesToFaces Codable/../ViewController.swift
- P12B NamesToFaces Codable/../Person.swift
- P12B NamesToFaces Codable/../PersonCell.swift
-
- P12X GuessTheFlag/../ViewController.swift
-
- P12X StormViewer/../ViewController.swift
- P12X StormViewer/../DetailViewController.swift
- P12X StormViewer/../Storm.swift
-
- P12X WordScrable/../ViewController.swift
Day 50
- Folder: X04 CameraCaptions
- Milestone project challenge projects 10 to 12.
- X04 CameraCaptions/../ViewController.swift
- X04 CameraCaptions/../DetailViewController.swift
- X04 CameraCaptions/../Photo.swift
Day 51
- Watching a couple of conference videos
- https://www.youtube.com/watch?v=OgU8d_E1K14
- https://vimeo.com/291590798
Day 52 / 53 / 54
- Topics: UISlider while also getting some practice with UIImagePickerController and saving to iOS Photos.
- Folder: P13 InstaFilter
- Folder: P13X InstaFilter (based on P13 InstaFilter aka Project 13)
- Challenge changes from P13 InstaFilter, additional slider for filter property and UI changes.
- P13 InstaFilter/../ViewController.swift
- P13X InstaFilter/../ViewController.swift
Day 55 / 56
- Topics: SKCropNode, SKTexture, and more.
- Folder: P14 Whack-A-Penguin
- Folder: P14X Whack-A-Penguin (based on P14 Whack-A-Penguin aka Project 14)
- Challenge changes from P14X Whack-A-Penguin, created a game over sound file, additional SKLabelNode and new SKEmitterNode for mud.
- P14 WhackAPenguin/../GameScene.swift
- P14 WhackAPenguin/../GameViewController.swift
- P14 WhackAPenguin/../WhackSlot.swift
-
- P14X WhackAPenguin/../GameScene.swift
- P14X WhackAPenguin/../GameViewController.swift
- P14X WhackAPenguin/../WhackSlot.swift
Day 57 / 58
- Topics: animate(withDuration:), CGAffineTransform, alpha, and more.
- Folder: P15 Animation
- Folder: P15X SwiftyWords (based on P09X SwiftyWords - aka Project 8)
- Folder: P15X InstaFilter (based on P13X InstaFilter aka Project 13)
- Folder: P15X GuessTheFlag (based on P06A GuessTheFlag aka Project 2)
- Challenge changes, update older projects with animations.
- P15 Animation/../ViewController.swift
- P15X SwiftyWords/../ViewController.swift
- P15X InstaFilter/../ViewController.swift
- P15X GuessTheFlag/../ViewController.swift
Day 59
- Folder: X05 CountryFacts
- Milestone project challenge 13 to 15.
- X05 CountryFacts/../ViewController.swift
- X05 CountryFacts/../Countries.swift
- X05 CountryFacts/../Country.swift
- X05 CountryFacts/../DetailTableViewController.swift
Day 60 / 61
- Topics: MKMapView, MKAnnotation, MKPinAnnotationView, CLLocationCoordinate2D, and more.
- Folder: P16 CapitalCities
- Folder: P16X CapitalCities (based on P16 CapitalCities)
- Challenge changes, add webview for wiki details shown via annotationView.
- P16 CapitalCities/../ViewController.swift
- P16 CapitalCities/../Capital.swift
-
- P16X CapitalCities/../ViewController.swift
- P16X CapitalCities/../Capital.swift
- P16X CapitalCities/../DetailViewController.swift
Day 62 / 63
- Topics: Pixel-perfect collision detection, advancing particle systems, Timer, linear and angular Damping, and more.
- Folder: P17 Space Race
- Folder: P17X Space Race (based on P17 Space Race)
- Challenge changes, added game restrictions and difficulty.
- P17 SpaceRace/../GameViewController.swift
- P17 SpaceRace/../GameScene.swift
-
- P17X SpaceRace/../GameViewController.swift
- P17X SpaceRace/../GameScene.swift
Day 64 / 65
- Folder: P18 Debugging
- Topics: Print, assert, breakpoints and view debugging.
- Challenge, debugging and changing values of older projects (didn't commit).
- P18 Debugging/../ViewController.swift
Day 66
- Folder: X06 ShootingGallery
- Milestone project challenge projects 16 to 18.
- X06 ShootingGallery/../GameScene.swift
- X06 ShootingGallery/../GameViewController.swift
- X06 ShootingGallery/../SpriteNode.swift
Day 67 / 68 / 69
- Topics: NSExtensionItem - creating a safari extension which runs JavaScript on a web page.
- Folder: P19 SafariJavascriptInjection
- Folder: P19X SafariJavascriptInjection (based on P19 SafariJavascriptInjection)
- Challenge changes, add a table view to list scripts and use UserDefaults to store them, tap to run, disclosure to edit.
- P19 SafariJavascriptInjection/../ViewController.swift
- P19 SafariJavascriptInjection/../ActionViewController.swift
-
- P19X SafariJavascriptInjection/../ViewController.swift
- P19X SafariJavascriptInjection/../ActionViewController.swift
- P19X SafariJavascriptInjection/../ScriptsTableViewController.swift
- P19X SafariJavascriptInjection/../SiteScript.swift
Day 70 / 71
- Topics: UIBezierPath, SKAction.follow(), for case let, and more.
- Folder: P20 FireworksNight
- Folder: P20X FireworksNight (based on P20 FireworksNight)
- Challenge, added action sequence to remove sprite, added game over etc.
- P20 FireworksNight/../GameScene.swift
- P20 FireworksNight/../GameViewController.swift
-
- P20X FireworksNight/../GameScene.swift
- P20X FireworksNight/../GameViewController.swift
Day 72 / 73
- Topics: UNUserNotificationCenter
- Folder: P21 LocalNotifications
- Folder: P21X GuessTheFlag (based on P15X GuessTheFlag)
- Challenge changes, update projects to update or add user notifications.
- P21 LocalNotifications/../ViewController.swift
- P21X GuessTheFlag/../ViewController.swift
Day 74
- Folder: X07 Notes
- Milestone project challenge 19 to 21.
- X07 Notes/../FoldersViewController.swift
- X07 Notes/../Folder.swift
- X07 Notes/../NoteListViewController.swift
- X07 Notes/../NoteViewController.swift
- X07 Notes/../Note.swift
Day 75 / 76
- Topics: Core Location, CLBeaconRegion, and more.
- Folder: P22 DetectABeacon
- Folder: P22X DetectABeacon (based on P22 DetectABeacon)
- Challenge, aded further beacons and a circle for range.
- P22 DetectABeacon/../ViewController.swift
- P22X DetectABeacon/../ViewController.swift
Day 77 / 78 / 79
- Topics: SKShapeNode, touchesEnded(), AVAudioPlayer, CaseIterable, removeFirst() and more.
- Folder: P23 SwiftyNinja
- Folder: P23X SwiftyNinja (based on P23 SwiftyNinja)
- Challenge, add game over, moved numbers, strings into enums and constants etc.
- P23 SwiftyNinja/../GameScene.swift
- P23 SwiftyNinja/../GameViewController.swift
-
- P23X SwiftyNinja/../GameScene.swift
- P23X SwiftyNinja/../GameViewController.swift
Day 80 /81
- Topics: String subscripts, contains(where:), NSAttributedString, and more.
- File: 24 SwiftStrings.playground
- File: P24X SwiftStrings.playground
- Challenge to write from string extensions.
- P24 SwiftStrings.playground/Contents.swift
- P24 SwiftStrings.playground/Contents.swift
Day 82
- Milestone project challenge 22 to 24
- File: X08 Extensions playground.
- X08 Extensions.playground/Contents.swift
Day 83 / 84
- Topics: Peer to peer networking, while also getting some practice with collection views, GCD, and more.
- Folder: P25 SelfieShare
- Folder: P25X SelfieShare (based on P25 SelfieShare)
- Challenge to add some UIAlerts for status, also send text messages and produce a list of users.
- P25 SelfieShare/../ViewController.swift
- P25X SelfieShare/../ViewController.swift
Day 85 / 86 / 87
- Topics: Core Motion, accelerometer, how to load a game level from a file and how to create custom physics bitmasks, while also getting some practice with fatalError(), SKAction, and more.
- Folder: P26 MarbleMaze
- Folder: P26X MarbleMaze (based on P26 MarbleMaze)
- P26 MarbleMaze/../GameScene.swift
- P26 MarbleMaze/../GameViewController.swift
-
- P26X MarbleMaze/../GameScene.swift
- P26X MarbleMaze/../GameViewController.swift
Day 88 / 89
- Topics: UIGraphicsImageRenderer, drawing fills and strokes, and insetting a CGRect, while also getting more practice with NSAttributedString and more.
- Folder: P27 CoreGraphics
- Folder: P27X CoreGraphics (based on P27 CoreGraphics) - emoji and word twin drawn.
- Folder: P27X StormViewer (based on P12X StormViewer aka Project 1) - draw text on image.
- P27 CoreGraphics/../ViewController.swift
-
- P27X CoreGraphics/../ViewController.swift
-
- P27X StormViewer/../ViewController.swift
- P27X StormViewer/../DetailViewController.swift
- P27X StormViewer/../Storm.swift
Day 90
- Milestone project challenge 25 to 27
- Folder: X09 MemeGenerator
- X09 MemeGenerator/../ViewController.swift
Day 91
- Topics: Core Graphics Redux
- File: Learn-Core-Graphics.playground.
- Blending/../LiveView.swift
- Checkerboards/Contents.swift
- Checkerboards/LiveView.swift
- Ellipses/Contents.swift
- Ellipses/../LiveView.swift
- Emoji/Contents.swift
- Emoji/../LiveView.swift
- Flags/Contents.swift
- Flags/../LiveView.swift
- Flowers/Contents.swift
- Flowers/../LiveView.swift
- Images/Contents.swift
- Images/../LiveView.swift
- Introduction/Contents.swift
- Lines/Contents.swift
- Lines/../LiveView.swift
- Rainbows/Contents.swift
- Rainbows/../LiveView.swift
- Rectangles/Contents.swift
- Rectangles/../LiveView.swift
- Rotation/Contents.swift
- Rotation/../LiveView.swift
- Sandbox/Contents.swift
- Sandbox/../LiveView.swift
- Stripes/Contents.swift
- Stripes/../LiveView.swift
- Strokes/Contents.swift
- Strokes/../LiveView.swift
- Text/Contents.swift
- Text/../LiveView.swift
- Translation/Contents.swift
- Translation/Sources/LiveView.swift
- LiveViewController.swift
Day 92 / 93
- Topics: LocalAuthentication framework and the iOS keychain, get some practice with UITextView and more.
- Folder: P28 SecretSwift
- Folder: P28X SecretSwift (based on P28 SecretSwift)
- Folder: P28X NamesToFaces Codable (based on P12B NamesToFaces Codable)
- Challenge: P28X SecretSwift + P28X NamesToFaces Codable - Add a unlock / done button, add a simple password fallback feature.
- P28 SecretSwift/../ViewController.swift
- P28 SecretSwift/../KeychainItemAccessibility.swift
- P28 SecretSwift/../KeychainWrapper.swift
-
- P28X SecretSwift/../ViewController.swift
- P28X SecretSwift/../KeychainItemAccessibility.swift
- P28X SecretSwift/../KeychainWrapper.swift
-
- P28X NamesToFaces Codable/../ViewController.swift
- P28X NamesToFaces Codable/../Person.swift
- P28X NamesToFaces Codable/../PersonCell.swift
Day 94 / 95 / 96
- Topics: How to generate a scene dynamically, how to connect SpriteKit and UIKit, and more.
- Folder: P29 ExplodingMonkeys
- Folder: P29X ExplodingMonkeys (based on P29 ExplodingMonkeys)
- Challenge to add wind and auto layout, scores and wind with increased difficulty (gravity / speed)
- P29 ExplodingMonkeys/../GameScene.swift
- P29 ExplodingMonkeys/../GameViewController.swift
- P29 ExplodingMonkeys/../BuildingNode.swift
-
- P29X ExplodingMonkeys/../GameScene.swift
- P29X ExplodingMonkeys/../GameViewController.swift
- P29X ExplodingMonkeys/../BuildingNode.swift
Day 97 / 98
- Topics: Time Profiler and Allocations instruments, how to draw shadows in both Core Graphics and CALayer, re-using table view cells in code, and more.
- Folder: P30 XcodeInstruments
- Folder: P30X XcodeInstruments (based on P30 XcodeInstruments) - remove all force unwraps
- Folder: P30X2 XcodeInstruments (based on P30X XcodeInstruments) - do all images processing at the start.
- P30 XcodeInstruments/../AppDelegate.swift
- P30 XcodeInstruments/../ImageViewController.swift
- P30 XcodeInstruments/../SelectionViewController.swift
-
- P30X XcodeInstruments/../AppDelegate.swift
- P30X XcodeInstruments/../ImageViewController.swift
- P30X XcodeInstruments/../SelectionViewController.swift
-
- P30X2 XcodeInstruments/../AppDelegate.swift
- P30X2 XcodeInstruments/../ImageViewController.swift
- P30X2 XcodeInstruments/../SelectionViewController.swift
Day 99
- Milestone project challenge 28 to 30
- Folder: X10 Pelmanism
- X10 Pelmanism/../GameScene.swift
- X10 Pelmanism/../GameViewController.swift
- X10 Pelmanism/../MessageNode.swift
- X10 Pelmanism/../PlayingCard.swift
Day 100
- Final Exam - Result: Certificate of Completion

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy