Skip to content

epeuva/hacking-with-swift-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hacking with Swift course files

Files created while working on Hacking with Swift course by Paul Hudson.

Table of contents

TODO

Project 1 - Storm Viewer

Image viewer with FileManager, Auto Layout, UIImage, Table Views.

Link to code

Project 2 - Guess the flag

Game with UIKit, UIButton, actions, UIAlertController.

Link to code

Project 3 - Storm Viewer with added Social media

Storm Viewer (project1) app updated with UIActivityViewController, UIBarButtonItem.

Link to code

Project 4 - Easy browser

Web view app with loadView(), WKWebView, URL, URLRequest, UIToolbar, UIProgressView, KVO (key-value observing)

Link to code

Project 5 - Word Scramble

Game with UITableView, UIAlertController, world validation with NSRange, UITextChecker, normal and trailing closures and file loading with path(forResource:)

Link to code

Project 6a - Guess the flag with Auto Layout (using UI)

Same Game as project 2 with auto layout rules using the Xcode UI.

Link to code

Project 6b - Auto Layout using VFL or Anchors

Auto layout examples using only code with VFL (Auto Layout Visual Format Language) (first auto layout option) or Anchors (second auto layout option).

UILabel, addSubview, addConstraints, NSLayoutConstraint, Anchors (widthAnchor, heightAnchor, topAnchor, bottomAnchor).

Link to code

Project 7 - Whitehouse Petitions

UITableView with Most Recent and Top Rated Whitehouse Petitions https://petitions.whitehouse.gov/developers inside a UINavigationController and UITabBarController. URL(string: ), String(contentsOf: url) and JSON(parseJSON: data) using SwiftyJSON (hard-copied to the project)

Link to code

Project 8 - Seven (7) Swifty Words

Game like '7 Swifty Words' using UIKit, attach click event methods in code 'addTarget()', property obervers 'didSet() or willSet()', enumerated(), index(of:), joined(), replacingOccurrences(), components(separatedBy:), Bundle.main.path(forResource:, ofType:), String(contentsOfFile:)

Link to code

Project 9 - Whitehouse Petitions with GCD

Whitehouse Petitions (project7) app updated with GCD Framework (Grand Central Dispatch) using anync() with QoS queues,performSelector(inBackground:) and performSelector(onMainThread:)

Link to code

Project 10 - Names to Faces

UICollectionView with UIImagePickerController, UUID, Person class based on NSObject, UIImage with CGColor (colored border radius), UIAlert, UIImageJPEGRepresentation and FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)

Link to code

Project 11 - Pachinko

TODO.

Project 12 - UserDefaults

Basic example of UserDefaults read and write.

Link to code

Project 12a - Names to Faces with UserDefaults using NSCoding

Names to Faces (project10) with "data persistance" using UserDefaults with NSCoding

Link to code

Project 12b - Names to Faces with UserDefaults using Codable

Names to Faces (project10) with "data persistance" using UserDefaults with Codable

Link to code

Project 13 - Instafilter

Image edition with filters using UIImageView, UISlider, CIImage, CIFilter, UIImageWriteToSavedPhotosAlbum. Search for "Core Image Filter Reference" for more filter keys like "kCIInputIntensityKey, kCIInputRadiusKey, ..."

Link to code

Project 14 - Whack a Penguin

TODO.

Project 15 - Animation

Animation example with CGAffineTransform(scaleX: , y: ), CGAffineTransform.identity, CGAffineTransform(translationX: , y: ), CGAffineTransform(rotationAngle: ), imageView.alpha, imageView.backgroundColor

Link to code

About

Files created while working on Hacking with Swift course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages