Skip to content

CypherPoet/book--hacking-with-swift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Project Portfolio

Shield.io MIT License Shield

Beginner ๐Ÿฃ

# Project Topics Covered Progress
0 ๐Ÿ› 
Introduction to Swift
playgrounds, constants & variables, data types, operators, string interpolation, arrays & dictionaries, conditional statements, control flow, functions & methods, optionals, enumerations, classes & structures, property observers, access control, typecasting, closures โœ…
1 ๐Ÿ“ฑ
Storm Viewer
Xcode, UIKit, UIViewController, super, viewDidLoad(), FileManager, app bundles, try-catch blocks, Storyboards & Interface Builder, UITableView, UITableViewDelegate, UITableViewDataSource, UIImageView, UIImage, UIButton, Auto Layout, Outlets & Actions, UINavigationController, view stacking โœ…
2 ๐ŸŽฎ
Guess the Flag
UIButton, action handling, asset catalogs, retina displays & @2x and @3x images, UIControlState, CALayer, UIView, UIColor, CGColor, random numbers, UIAlertController, UIAlertAction, UILabel, Auto Layout and alignment โœ…
3 ๐Ÿ›  Social Media UIActivityViewController, UINavigationBar, UIBarButtonItem, #selector & @objc, Info.plist, privacy & permissions โœ…
4 ๐Ÿ“ฑ
Easy Browser
WKWebView, URL, URLRequest, UIToolbar, UIProgressView, KVO (Key-Value Observing) design pattern (not sure if this is an optimal design for most cases, though), WKNavigationDelegate, classes (instances passed by reference) vs structs (instances passed by copy), class inheritance and protocol conformance โœ…
5 ๐ŸŽฎ
Word Scramble
string methods, NSRange, UITextChecker, lowercased(), IndexPath, anagrams, inserting rows into tables without reloading, UIAlertController text fields, constants can be declared w/o a value, as long as it's set before use โœ…
6a ๐Ÿ› 
Auto Layout
Ctrl-drag, Auto Layout Visual Format Language (including anchors, metrics, priority, and vertical/horizontal specifications) โœ…
6b ๐Ÿ› 
Guess The Flag V2
Ctrl-drag, Auto Layout Visual Format Language (including anchors, metrics, priority, and vertical/horizontal specifications) โœ…
7 ๐Ÿ“ฑ
Near Earth Objects
UITabBarController, UITabBarItem, parsing JSON for structs that implement the Codable protocol, didFinishLaunchingWithOptions โœ…
8 ๐ŸŽฎ
Seven Swifty Words
addTarget(), enumerated(), index(of:), joined(), replacingOccurrences(), property observers, range operators, programmatic button event handling โœ…
9 ๐Ÿ› 
Grand Central Dispatch
Grand Central Dispatch, async(), DispatchQueue.main, Quality of Service, global(), performSelector(inBackground:), never do UI work on a background thread โœ…
10 ๐Ÿ“ฑ
Names to Faces
UICollectionView, UICollectionViewCell, UICollectionViewDelegate, UICollectionViewDataSource, UIImagePickerController, UUID, Custom NSObject Classes, URLs for app directories, writing JPEG data to disk โœ…
11 ๐ŸŽฎ
Pachinko
CGFloat, SKSpriteNode, UITouch, SKPhysicsBody, circleOfRadius/rectangleOf for shaping physics bodies, SKPhysicsContactDelegate, SKActions โ€” and adding them to nodes, SKLabelNode, SKEmitterNode, sprite drawing blend modes, โœ…
12a ๐Ÿ› 
Saving User Defaults & Data: NSCoding
UserDefaults + NSCoding/NSKeyedArchiver โœ…
12b ๐Ÿ› 
Saving User Defaults & Data: Codeable
UserDefaults + Codeable/JSONEncoder/JSONDecoder โœ…
13 ๐Ÿ“ฑ
Instafilter
UISlider, CIImage, CGImage, CIContext, CIFilter, UIImageWriteToSavedPhotosAlbum, Using full function signatures with #selector โœ…
14 ๐ŸŽฎ
Whack-a-Penguin
SKCropNode, SKTexture, SKActions, GCD's asyncAfter(), SKAction.playSoundFileNamed, SKAction.wait, run(block:) โœ…
15 ๐Ÿ› 
Core Animation
Swifty switch/case statements, animate(withDuration:), CGAffineTransform, view.transform, changing animatable properties of UIViews within an animation closure โœ…

Intermediate ๐Ÿฅ

# Project Name Topics Learned Progress
16 ๐Ÿ“ฑ
Safari Extension & JavaScript Injection
NSExtensionItem, plists (property lists), NSDictionary, NSExtensionJavaScriptPreprocessingResultsKey, UITextView, NSItemProvider, kUTTypePropertyList, keyboard notifications, NSValue, CGRect, CGPoint, CGSize, view.convert, UIEdgeInsets โœ…
17 ๐ŸŽฎ
Swifty Ninja
SKShapeNode, CGPath, UIBezierPath, AVAudioPlayer, CaseIterable & custom enums, SKAction sequences and groups, default method parameters โœ…
18 ๐Ÿ› 
Debugging
print, assert, breakpoints, visual debugging, conditional breakpoints, lldb printing and expressions โœ…
19 ๐Ÿ“ฑ
Capital Cities
MKMapView, MKAnnotation, MKPinAnnotationView, CLLocationCoordinate2D, dequeueReusableAnnotationView(), switching between different map styles โœ…
20 ๐ŸŽฎ
Fireworks Night
Timer, SKNode, SKAction.follow() and its awesome orientToPath option, motionBegan(), prefersStatusBarHidden, Timer.invalidate(), colorBlendFactor for SKSpriteNodes โœ…
21 ๐Ÿ› 
Local Notifications
UNUserNotificationCenter, UNNotificationRequest, UNNotificationAction, UNNotificationCategory, UNUserNotificationCenterDelegate, UNNotificationDefaultActionIdentifier โœ…
22 ๐Ÿ“ฑ
Detect-A-Beacon
iBeacons, Core Location, CLBeaconRegion, CLLocationManager, startMonitoring(for:), startRangingBeacons(in:), uuidgen, CLBeaconRegion, CLProximity โœ…
23 ๐ŸŽฎ
Space Race
per-pixel collision detection, advancing particle systems, adjust linear & angular damping, touchesEnded(), touchesMoved(), touchesBegan() โœ…
24 ๐Ÿ› 
Swift Extensions
mutating methods, Protocol-Oriented programming, Self vs self, conventions regarding methods (generally, verbs) vs computed properties (generally, nouns/state), ExSwift โœ…
25 ๐Ÿ“ฑ
Photo Share
MultipeerConnectivity, MCSession, MCBrowswerViewController, showConnectionPrompt(), MCPeerID, MCAdvertiserAssistant, MCSessionDelegate, MCBrowserViewControllerDelegate, MCSession.send โœ…
26 ๐ŸŽฎ
Marble Maze
categoryBitMask, collisionBitMask, contactTestBitMask, CMMotionManager, startAccelerometerUpdates, reading accelerometer data, compiler directives โœ…
27 ๐Ÿ› 
Core Graphics
Core ๐Ÿ‘ Graphics ๐Ÿ‘, UIGraphicsImageRenderer, exporting images with UIGraphicsImageRenderer.image(), UIGraphicsImageRendererContext, CGContext, CGContext.addRect(), CGContext.addEllipse(), NSString.draw(with:), UIFont, NSMutableParagraphStyle(), drawing UIImages straight into a rendering context โœ…
28 ๐Ÿ“ฑ
Secret Swift
Using the KeychainAccess library, resignFirstResponder(), NotificationCenter, UIApplication.willResignActiveNotification, LocalAuthentication, LAContext, canEvaluatePolicy(), .deviceOwnerAuthenticationWithBiometrics, evaluatePolicy(), privacy for Touch ID & Face ID, simulating Face ID with the Simulator โœ…
29 ๐ŸŽฎ
Exploding Monkeys
UIKit + SpriteKit, texture atlases, scene transitions, destructable terrain, using stride to create a sequence of evenly-spaced numbers ๐Ÿ’ฅ, HSB FTW ๐ŸŽจ โœ…
30 ๐Ÿ› 
Instruments
Profiling applications with the Instruments app, view debugging, draw debugging, memory pressure debugging, Time Profile debugging โœ…

Advanced ๐Ÿฆ…

# Project Name Topics Learned Progress
31 ๐Ÿ“ฑ
Multibrowser
UIStackView, iPad multitasking, addArrangedSubview(), WKNavigationDelegate, UITextFieldDelegate, UIGestureRecognizerDelegate, App Transport Security, Adaptive UI (Size Classes and Dynamic Type), using StackView.removeArrangedSubview alongside WKWebView.removeFromSuperview โœ…
32 ๐Ÿ“ฑ
Swift Searcher
Dynamic Type, NSAttributedString, SFSafariViewController, SFSafariViewControllerDelegate, Core Spotlight, UIContentSizeCategoryDidChange, responding to the CSSearchableItemActionType activity during app startup to handle CoreSpotlight search hits โœ…
33 ๐Ÿ“ฑ
Name That Tune
All about CloudKit โ˜๏ธ: loading and saving text data, loading and saving binary data, subscribing to CKRecord updates, delivering push notifications, CloudKit Dashboard and more; AVAudioRecorder; AVAudioSession; requestRecordPermission(); CKRecord; CKAsset; CKQueryOperation; NSPredicate; CKRecord.Reference; fetch(withRecordID:); save(); CKQuerySubscription; NSSortDescriptor โœ…
34 ๐ŸŽฎ
Four in a Row
GameplayKit AI, GKGameModel, GKGameModelPlayer, GKGameModelUpdate, AI Heuristics, NSCopying, GKMinmaxStrategist โœ…
35 ๐Ÿ› 
Random Numbers
Int.random(in:), Float.random(in:), Double.random(in:), CGFloat.random(in:), Bool.random(), arc4random(), GKRandomSource.sharedRandom(), GKLinearCongruentialRandomSource, GKMersenneTwisterRandomSource, GKARC4RandomSource, GKRandomDistribution, GKShuffledDistribution, GKGaussianDistribution, Fisher-Yates Algorithm, arrayByShufflingObjects(in:), the importance of being able to seed the source of randomness ๐ŸŒฑ โœ…
36 ๐ŸŽฎ
Crashy Plane
scale modes, parallax scrolling, SpriteKit Physics, SKPhysicsContactDelegate, SKPhysicsBody, SKAudioNode, managing game state with enums, restarting entire game scenes โœ…
37 ๐ŸŽฎ
WatchKit ESP Tester
View Controller containment, WatchKit Extensions, 3D Touch, CAEmitterLayer, CAGradientLayer, @IBDesignable, @IBInspectable, transition(with:), WCSession, WKInterfaceLabel, WKInterfaceButton, WCSessionDelegate overrides, passing messages between a phone and a paired watch โœ…
38 ๐Ÿ› 
Github Commits (Core Data)
All about Core Data ๐Ÿ’ช, NSFetchRequest, NSManagedObject, NSManagedObjectContext, NSPredicate, NSSortDescriptor, NSFetchedResultsController, ISO8601DateFormatter, Core Data relationships and attribute constraints โœ…
39 ๐Ÿ› 
Unit testing with XCTest
XCTest, Test-Driven Development in iOS, XCTestCase, setting a baseline, measure() NSCountedSet, XCUIApplication(), XCUIElementQuery, UI test recording, Continuous Integration with Xcode Server โœ…

Challenges ๐Ÿฅ…

# Project Name Progress
0 ๐Ÿ› 
Fizz Buzz
โœ…
1 ๐Ÿ“ฑ
World Flags
โœ…
2 ๐ŸŽฎ
Hangman
โœ…
3 ๐Ÿ“ฑ
Storm Viewer 2 (Collection View)
โœ…
4 ๐Ÿ“ฑ
Country Facts
โœ…
5 ๐Ÿ“ฑ
Imitation Apple Notes App
๐Ÿšง
6 ๐Ÿ› 
Expanding on Extensions
โœ…
7 ๐Ÿ› 
Core Graphics Rainbow ๐ŸŒˆ
โœ…
8 ๐Ÿ“ฑ
Private Photos App
โœ…
KEY
๐Ÿ“ฑ = App
๐ŸŽฎ = Game
๐Ÿ›  = Technique
โœ… = Complete
๐Ÿšง = In Progress
๐Ÿ›‘ = Not Started

About

Project portfolio from following along with Paul Hudson's `Hacking with Swift` book/course

Topics

Resources

Stars

Watchers

Forks

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