Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Swift 3 Cookbook of Code
LINKS FOR AMAZING SWIFTUI RESOURCES
LINKS FOR AMAZING SWIFTUI RESOURCES
Swift Cookbook Course Introduction
Promo Video (2:50)
Section 1 - Intro - How to use the course (2:00)
Section 2 - Arrays
How do you create multi dimensional arrays? (1:13)
How to count objects in a set using NSCountedSet (1:04)
How to enumerate items in an array (0:23)
How to find an item in an array using index(of) (0:16)
How to join an array of strings into a single string (0:25)
How to loop through items in array (0:27)
How to shuffle an array in iOS 8 and below (0:26)
How to shuffle an array in iOS 9 using GameplayKit (0:30)
How to sort an array using sort() (0:54)
How to tell if an array contains an object (0:22)
How to loop through an array in reverse (0:56)
Section 3 - CALayer
How to add a border outline color to a UIView (0:29)
How to draw color gradients using CAGradientLayer (1:24)
How to draw shapes using CAShapeLayer (0:37)
How to round the corners of a UIView (0:42)
How to emit particles using CAEmitterLayer (1:04)
How to create keyframe animations using CAKeyframeAnimation (1:32)
Section 4 - Core Graphics
How to draw a text string using Core Graphics (0:24)
How to draw lines in Core Graphics with move(to) and addLine(to) (0:59)
How to draw a square using Core Graphics addRect() (0:47)
How to calculate the Manhattan distance between two CGPoints (0:33)
How to draw a circle using Core Graphics - addEllipse(in) (0:37)
How to render a PDF to an image (0:47)
How to find the translation from a CGAffineTransform (0:14)
How to compare two CGRects with equalTo() (0:22)
How to use Core Graphics blend modes to draw a UIImage differently (1:47)
How to find the rotation from a CGAffineTransform (0:14)
How to find a scale from a CGAffineTransform (0:15)
How to calculate the distance between two CGPoints (0:47)
Section 5 - Games
How to roll a dice using GameplayKit and GKRandomDistribution (0:38)
How to change SKScene with a transition - presentScene() (0:37)
How to add pixel perfect physics to an SKSpriteNode (0:29)
How to create shapes using SKShapeNode (0:31)
How to emit particles using SKEmitterNode (1:00)
How to find a touches location in a node using location(in) (0:41)
How to create 3D audio sound using SKAudioNode (1:18)
How to color an SKSpriteNode using colorBlendFactor (0:37)
How to run SKActions in a sequence (0:27)
How to run SKActions in a group (0:29)
How to write text using SKLabelNode (0:45)
How to generate a random number with GKRandomSource (1:05)
How to add physics to an SKSpriteNode (0:46)
How to stop an SKPhysicsBody responding to physics using its dynamic property (0:45)
Section 6 - Language
Fixing "Ambiguous reference to member when using ceil or round" (1:06)
How to find the minimum of three numbers (0:14)
How to find the minimum of two numbers (0:12)
How to find the maximum of three numbers (0:15)
How to find the maximum of two numbers (0:09)
How to convert a string to an int (0:18)
How to convert an NSRange to a Swift string index (0:30)
How to convert a string to an NSString (0:42)
What are lazy variables? (3:21)
How to convert an int to a string (0:18)
How to convert a float to a CGFloat (0:30)
How to convert a string to a double (0:14)
How to convert a string to a float (0:14)
How to convert a float to an int (0:17)
How to convert an int to a float (0:18)
How to create an Objective C bridging header to use code in Swift (1:02)
Fixing "Class ViewController has no initializers" (1:19)
How to check for valid method input using the guard keyword (1:09)
How to check the Swift version at compile time (0:38)
How to force your program to crash with assert() (1:28)
How to compare two tuples for equality (0:32)
How to delay execution of code using the defer keyword (0:36)
How to print debug text in Swift (0:18)
What is a nib? (0:45)
How to unwrap an optional in swift (0:54)
What are property observers (0:22)
What is a delegate in iOS? (0:59)
How to use compiler directives to detect the iOS simulator (0:47)
What is the nil coalescing operator? (1:01)
What is a CGFloat? (0:26)
What is a selector? (0:47)
How to install a beta version of swift (3:45)
What is trailing closure syntax? (1:16)
How to use the try:catch in Swift to handle exceptions (1:36)
Tips for android developers switching to Swift (2:38)
What does unowned mean? (0:48)
Using stride() to loop over a range of numbers (1:09)
What is a Closure (2:11)
What is a protocol? (1:22)
What does weak mean? (1:24)
Section 7 - Libraries
How to parse JSON using SwiftyJSON (2:54)
How to get a Cover Flow effect on iOS (1:48)
How to make empty UITableViews look more attractive using DZNEmptyDataSet (3:03)
Section 8 - Location
How do you make an iPhone transmit an iBeacon (1:07)
How to add a button to an MKMapView annotation (1:08)
How to request our users location only ones using requestLocation (0:26)
How to add an MKMapView using MapKit (0:42)
How to detect iBeacons (4:33)
How to find directions using MKMapView and MKDirectionsRequest (1:20)
Section 9 - Media
How to filter images using Core Image and CIFilter (0:35)
How to create a barcode (0:21)
How to make resizable images using resizableImageWithCapInsets() (0:48)
How to save a UIImage to a file using UIImagePNGRepresenttation (1:07)
How to scan a QR code (0:51)
How to choose a photo from the camera roll using UIImagePickerController (0:49)
UIImageWriteToSavedPhotosAlbum() how to write to the iOS photo album (1:02)
How to convert text to speech using AVSpeechSynthesizer, AVSpeechUtterance and AVSpeechSythesisVoice (0:41)
How to create a PDF417 barcode (0:23)
CIDectorTypeFace - How to detect faces in a UIImage (0:30)
How to render a UIView to a UIImage (0:22)
How to scan a barcode (0:44)
How to play sounds using AVAudioPlayer (1:32)
How to create a QR code (0:31)
How to record audio using AVAudioRecorder (3:12)
How to record user videos using ReplayKit (1:12)
How to turn on the camera flashlight to make a torch (0:54)
How to highlight text to speech words being read using AVSpeechSynthesizer (0:50)
Section 10 - Strings
How to loop through letters in a string (0:21)
How to capitalize words in a string using capitalizedString (0:15)
How to test localization by setting a debug locale and double length pseudo-language (0:54)
How to use string interpolation to combine strings, integers and doubles (0:36)
How to load a string from a file in your bundle (0:14)
How to specify floating-point precision in a string (0:52)
How to get the length of a string (0:17)
How to detect a URL in a String using NSDataDetector (0:37)
How to parse a sentence using NSLinguisticTagger (0:52)
How to load a string from a website URL (0:47)
How to repeat a string (0:20)
How to trim whitespace in a string (0:32)
How to split a string into an array - componentsSeperatedByString() (0:20)
How to convert a string to lowercase letters (0:07)
How to save a string to a file on disk with write(to) (1:01)
How to convert a string to uppercase letters (0:09)
Replacing text in a string using replacingOccurrences(of-) (0:29)
How to measure a string (0:15)
NSRegularExpression - how to match regular expressions in strings (1:02)
How to reverse a string using reversed() (0:16)
Section 11 - System
How to post messages using NotificationCenter (1:26)
How to handle the HTTPS requirements in iOS with App Transport Security (2:47)
How to run code after a delay using asyncAfter() and perform() (1:00)
How to cancel a delayed perform() call (1:40)
How to create rich formatted text strings using NSAttributedString (0:42)
How to store NSUserDefaults options in iCloud (2:20)
How to use Core Spotlight to index content in your app (3:06)
How to run code asynchronously using GCD async() (0:55)
How to read the contents of a directory using FileManager (0:34)
How to detect which country a user is in (1:25)
How to cache data using NSCache (0:51)
How to generate random numbers in iOS 8 and below (0:32)
How to make tappable links in NSAttributedString (0:57)
How to create a peer to peer network using the multipeer connectivity framework (5:35)
How to make an action repeat using Timer (1:16)
How to convert units using Unit and Measurement (1:36)
How to use Core Motion to read accelerometer data (1:32)
How to open a URL in Safari (0:28)
How to synchronize code to drawing using CADisplayLink (1:30)
How to run code at a specific time (1:23)
How to format dates with an ordinal suffix using NunberFormatters ordinalStyle (0:23)
How do you read from the command line (1:10)
How to spell out numbers using NumberFormatters SpellOut style (0:52)
How to pass data between two view controllers (2:31)
How to use Touch ID to authenticate users by fingerprint (2:11)
How to find the users documents directory (0:31)
How to copy objects in Swift using copy() (1:24)
How to copy text to the clipboard using UIPasteboard (0:27)
How to stop the screen from going to sleep (0:27)
How to detect low power mode is enabled (0:53)
How to save user settings using UserDefaults (2:37)
How to generate a random identifier using UUID (0:27)
How to identify an iOS device uniquely with identifierForVendor (0:51)
NSTextEffectLetterpressStyle - how to add letterpress effect to text (0:25)
How to parse JSON using JSONSerialization (1:15)
How to insert images into an attributed string with NSTextAttachment (1:22)
How to set local alerts using UNNotificationCenter (5:02)
How to detect when your app moves to the background (0:47)
How to save and load objects with NSKeyedArchiver and NSKeyedUnarchiver (1:23)
How to run code on the main thread using GCD async() (0:38)
Section 12 - UIColor
How to create custom colors using UIColor RGB and hues (1:24)
How to convert a hex color to a UIColor (1:34)
How to convert a HTML name string into a UIColor (1:27)
Section 13 - UIKit
How to make UITableViewCells auto resize to their content (0:51)
How to hide the navigation bar using hidesBarOnSwipe (0:29)
How to show and hide a toolbar inside a UINavigationController (0:48)
How to generate haptic feedback with UIFeedbackGenerator (2:45)
How to give UITableViewCells a selected color other than grey (0:32)
How to hide the navigation bar using hidesBarsOnTap (0:35)
How to share content with UIActivityViewController (1:23)
How to make UITableViewCell separators go edge to edge (0:42)
What does the message "Simulator user has requested new graphics quality - 100" mean? (0:53)
How to give a UINavigationBar a background image - setBackgroundImage() (0:36)
What are the different UIStackView distribution types (1:16)
How to hide passwords in a UITextField (0:17)
How to send an email (1:07)
How to read a title from UIPickerView using titleForRow (1:26)
How to hide the status bar (0:40)
How to load a HTML string into a WKWebView or UIWebView - loadHTMLString() (0:50)
How to flip a UIView with 3D effect - transitionWithView() (0:49)
Fixing "unable to dequeue a cell with identifier (2:15)
How to print using UIActivityViewController (1:07)
How to pad a UITextView by setting it's text container inset (0:21)
How to stop empty row separators appearing in UITableView (0:45)
How to register a cell for UITableViewCell reuse (2:04)
How to add a UITextField to a UIAlertController (0:25)
How to give a UIStackView a background color (0:19)
How to recolor UIImages using template images and withRenderingMode() (0:39)
How to make the master pane always visible in a UISplitViewController (0:26)
How to use light text color in the status bar (0:47)
How to add a bar button to a navigation bar (1:32)
How to stop your view going under the navigation bar using edgesForExtendedLayout (0:39)
How to limit the number of characters in a UITextField or UITextView (1:30)
How to share content with the Social framework and SLComposeViewController (0:54)
How to register a cell for UICollectionView reuse (1:07)
How to add a flexible space to a UIBarButtonItem (0:56)
How to scale, stretch, move and rotate UIViews using CGAffineTransform (0:54)
How to let users tap on a UITableViewCell while editing is enabled (0:39)
How to set a custom title view in a UINavigationBar (0:34)
How to remove a UIView from its superview with removeFromSuperview() (0:24)
How to run JavaScript on a UIWebView with stringByEvaluatingJavaScript(from) (0:29)
How to make a clear button appear in a textfield (0:21)
How to put a background picture behind UITableViewController (0:16)
How to detect when the back button is tapped (0:46)
How to respond to the device being shaken (0:26)
How to swipe to delete UITableViewCells (1:10)
How to animate when your size class changes - willTransition(to) (2:21)
How to remove cells from a UITableView (0:41)
How to style the font in a UINavigationBars title (0:37)
What are size classes? (2:07)
How to measure touch strength using 3D Touch (0:49)
How to set the tabs in a UITabBarController (0:36)
How to stop auto layout and auto resizing masks conflicting - translatesAutoresizingMaskIntoConstraints (0:47)
How to set the tint color of a UIView (1:02)
How to set prompt text in a navigation bar (0:29)
How to adjust image content mode using aspect fill, aspect fit and scale scaling (1:14)
How to use SFSafariViewController to show web pages in your app (1:33)
What is content compression resistance? (0:57)
How to stop users selecting text in a UIWebView or WKWebView (0:25)
How to use Dynamic Type to resize your apps text (1:01)
Why can I not register for push notifications? (1:28)
Fixing "Failed to obtain a cell from its "DataSource" (2:05)
How to add blur and vibrancy using UIVisualEffectView (1:32)
How to create a parallax effect in UIKit (0:31)
How do you show a modal view controller when a UITabBarController tab is tapped? (2:22)
How to add a custom view to a UIBarButtonItem (0:36)
How to add a shadow to a UIView (1:30)
How to add retina and retina HD graphics to your project (1:50)
How to adjust a UIScrollView to fit the keyboard (1:30)
How to support pinch to zoom in a UIScrollView (0:45)
How to animate views with spring dampening using animateWithDuration() (1:09)
How to add a section header to a table view (0:27)
How to animate views using animate(withDuration) (1:20)
How to bring a subView to the front of a UIView (0:38)
How to create popover menus using UIPopoverPresentaionController (1:12)
Changing which UITabBarController tabs can be edited (1:17)
How to detect a double tap gesture (0:21)
How to customize swipe edit buttons in a UITableView (1:10)
How to check if a string is spelled correctly using UITextChecker (0:41)
How to use IBInspectable to adjust values in interface builder (1:26)
How to create auto layout constraints in code - constraintsWithVisualFormat() (2:30)
How to convert a CGPoint in one UIView to another view using convert() (0:52)
How to dim the screen (0:31)
How to add a UIApplicationShortcutItem quick action for 3D Touch (3:19)
How to add a button to a UITableViewCell (0:27)
How to animate views using UIViewPropertyAnimator (4:21)
How to detect edge swipes (0:32)
How to deselect a UITableViewCell using clearsSelectionOnViewWillAppear (0:51)
How to create custom menus using UIMenuController (1:09)
How to change the scroll indicator inset for a UIScrollView (0:36)
How to find a UIView subview using viewWithTag() (0:54)
How to find a touch's location in a view with location(in) (0:40)
How to draw custom views in interface builder using IBDesignable (1:25)
How to create a page curl affect using UIPageViewController (1:45)
How to make a button glow when tapped with showsTouchWhenHighlighted (0:25)
Section 14 - WKWebView
What's the difference between UIWebView and WKWebView (1:17)
How to run JavaScript on a WKWebView with evaluateJavaScript() (0:22)
How to enable back and forward swiping gestures in WKWebView (0:27)
How to monitor WKWebView page load progress using key-value observing (1:32)
Section 15 - Xcode
How to load assets from Xcode assets catalogs (1:08)
How to debug view layouts in Xcode (0:58)
How to create exception break points in Xcode (0:55)
Section 16 - Hacking with swift - A must have resource
Hacking with swift - A must have resource (2:00)
How to create a PDF417 barcode
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock