Skip to content

Latest commit

 

History

History
225 lines (129 loc) · 5.35 KB

README.md

File metadata and controls

225 lines (129 loc) · 5.35 KB

HackingWithSwift

Project 1: Storm Viewer

Constants and variables, UITableView, UIImageView, FileManager, storyboards

Get started coding in Swift by making an image viewer app and learning key concepts.


Project 2: Guess the Flag

Asset catalogs, UIButton, CALayer, UIColor, UIAlertController

Make a game using UIKit, and learn about integers, buttons, colors and actions.


Project 3: Social Media

UIBarButtonItem, UIActivityViewController, URL

Let users share to Facebook and Twitter by modifying project 1.


Project 4: Easy Browser

loadView(), WKWebView, URLRequest, UIToolbar, UIProgressView, key-value observing

Embed Web Kit and learn about delegation, KVO, classes and UIToolbar.


Project 5: Word Scramble

Closures, method return values, booleans, NSRange

Create an anagram game while learning about closures and booleans.


Project 6: Auto Layout

NSLayoutConstraint, Visual Format Language, layout anchors

Get to grips with Auto Layout using practical examples and code.


Project 7: Whitehouse Petitions

JSON, Data, UITabBarController

Make an app to parse Whitehouse petitions using JSON and a tab bar.


Project 8: 7 Swifty Words

addTarget(), enumerated(), count(), index(of:), joined(), property observers, range operators

Build a word-guessing game and master strings once and for all.


Project 9: Grand Central Dispatch

DispatchQueue, perform(inBackground:)

Learn how to run complex tasks in the background with GCD.


Project 10: Names to Faces

UICollectionView, UIImagePickerController, UUID, classes

Get started with UICollectionView and the photo library.


Project 11: Pachinko

SpriteKit, physics, blend modes, radians, CGFloat, NSKeyedUnarchiver

Dive into SpriteKit to try your hand at fast 2D games.


Project 12: UserDefaults

UserDefaults, NSCoding, Codable, NSKeyedArchiver

Learn how to save user settings and data for later use.


Project 13: Instafilter

Core Image, UISlider, writing to the photo library

Make a photo manipulation program using Core Image filters and a UISlider.


Project 14: Whack-a-Penguin

SKCropNode, SKTexture, asyncAfter()

Build a game using SKCropNode and a sprinkling of Grand Central Dispatch.


Project 15: Animation

Core Animation, CGAffineTransform

Bring your interfaces to life with animation, and meet switch/case at the same time.


Project 16: JavaScript Injection

Safari extensions, UITextView, NotificationCenter

Extend Safari with a cool feature for JavaScript developers.


Project 17: Swifty Ninja

SKShapeNode, AVAudioPlayer, UIBezierPath, custom enums

Learn to draw shapes in SpriteKit while making a fun and tense slicing game.


Project 18: Debugging

print(), assert(), breakpoints, and view debugging

Everyone hits problems sooner or later, so learning to find and fix them is an important skill.


Project 19: Capital Cities

MKMapView, MKAnnotation, MKPinAnnotationView, CLLocationCoordinate2D

Teach users about geography while you learn about MKMapView and annotations.


Project 20: Fireworks Night

Timer, follow(path:), sprite color blending, shake gestures

Learn about timers and color blends while making things go bang!


Project 21: Local Notifications

UNUserNotificationCenter, UNNotificationRequest, UNMutableNotificationContent, UNCalendarNotificationTrigger, and UNTimeIntervalNotificationTrigger

Send reminders, prompts and alerts even when your app isn't running.


Project 22: Detect-a-Beacon

CLLocationManager, CLBeaconRegion, CLProximity

Learn to find and range iBeacons using our first project for a physical device.


Project 23: Space Race

Per-pixel collision detection, advancing particle systems, linear and angular damping

Dodge space debris while you learn about per-pixel collision detection.


Project 24: Swift Extensions

Language extensions, Swift playgrounds

Try your hand at improving the built-in data types of Swift.


Project 25: Selfie Share

Multipeer Connectivity Framework

Make a multipeer photo sharing app in just 150 lines of code.


Project 26: Marble Maze

Core Motion, collision bitmasks, array reversing, compiler directives

Respond to device tilting by steering a ball around a vortex maze.


Project 27: Core Graphics

Core Graphics

Draw 2D shapes using Apple's high-speed drawing framework.


Project 28: Secret Swift

Touch ID and Face ID, device keychain

Save user data securely using the device keychain and Touch ID.


Project 29: Exploding Monkeys

Mixing UIKit and SpriteKit, texture atlases, scene transitions, destructible terrain

Remake a classic DOS game and learn about destructible terrain and scene transitions.


Project 30: Instruments

Profiling, shadows, image caching

Become a bug detective and track down lost memory, slow drawing and more.


Project 31: Multibrowser

UIStackView, multitasking for iPad, size classes

Get started with UIStackView and see just how easy iPad multitasking can be.


###Project 32: SwiftSearcher Core Spotlight, SFSafariViewController, NSAttributedString, Dynamic Type, automatic UITableViewCell sizing

Add your app's content to iOS 9's Spotlight search and take advantage of the new Safari integration.