O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Production Swift

Video Description

Get up and running with real-world Swift

In Detail

Swift 3 might just be around the corner, but that doesn’t mean you can’t get started with what’s being used out in the wild today. Build a strong foundational knowledge of Swift 2 in this comprehensive Learning Path that will take you from start to finish on the road to rapid iOS application development.

Prerequisites: Prior experience with an object-oriented programming language

Resources: Code downloads and errata:

  • Learning Swift 2

  • Application Development with Swift 2

  • Mastering Swift 2 Programming

  • Advanced Swift 2 Application Development

  • PATH PRODUCTS

    This path navigates across the following products (in sequential order):

  • Learning Swift 2 (3h 2m)

  • Application Development with Swift 2 (1h 39m)

  • Mastering Swift 2 Programming (4h 56m)

  • Advanced Swift 2 Application Development (2h 45m)

  • Photo Credit: ©iStockphoto.com/dolphyn

    Table of Contents

    1. Chapter 1 : Learning Swift 2
      1. The Course Overview 00:05:28
      2. Why Choose Swift 2 over Objective-C? 00:05:40
      3. Installing and Setting Up the XCode IDE 00:03:35
      4. Beginning with Playgrounds 00:07:07
      5. Variables and Constants 00:06:26
      6. Control Flow and Conditional Statements 00:08:46
      7. Functions and Closures 00:10:24
      8. Optionals 00:05:24
      9. Structs 00:09:42
      10. Arrays and Dictionaries 00:08:45
      11. Classes 00:05:11
      12. enums 00:05:28
      13. Setting Up Our Project 00:07:42
      14. Defining the Structure of the iOS App 00:04:07
      15. Building the User Interface 00:08:29
      16. Installing and Setting Up the Dependency Manager CocoaPods 00:05:48
      17. Setting Up the RequestManager Class 00:05:26
      18. Making the Web Request to Get Our Data 00:03:58
      19. Parsing the JSON Using SwiftyJSON 00:03:37
      20. Using Closures to Return the Data 00:04:32
      21. The UITableViewController 00:06:46
      22. Setting Up the Search Bar 00:04:53
      23. Setting the Data for Each Cell in Code 00:06:25
      24. Setting Up the DetailViewController Class 00:02:51
      25. Passing the Selected Cell Data to Another Controller 00:04:59
      26. Making Zoom in/out of the Photos 00:03:52
      27. Searching Photos in the API 00:03:17
      28. Caching Photos 00:04:43
      29. Making the Request on Demand 00:04:59
      30. Adopting Error Handling for the Requests 00:06:26
      31. Swift in Linux and the New Package Manager 00:03:45
      32. Next Steps 00:04:13
    2. Chapter 2 : Application Development with Swift 2
      1. The Course Overview 00:03:23
      2. Installing Xcode 00:02:58
      3. Registering with Apple 00:03:06
      4. Creating the DreamSeekr Project 00:04:39
      5. Exploring Xcode 7 00:03:33
      6. Projects and Targets 00:04:54
      7. Visualizing the User Interface in Storyboards 00:05:52
      8. Auto Layout Explained 00:06:44
      9. Designing for Different Sizes 00:04:22
      10. Working with Images and Assets 00:04:09
      11. Creating Your Model for Your Requirements 00:04:47
      12. View Lifecycle 00:04:37
      13. Hooking Up User Interaction in Your View Controller 00:04:03
      14. Working with Keyboards – Notifications and Delegate Methods 00:05:05
      15. Implementing UIImagePickerController 00:05:15
      16. Creating a Tableview 00:04:11
      17. Creating a Tableview Cell 00:03:39
      18. Loading Data into Your Tableview 00:04:06
      19. Working with Tableview Interactions 00:02:54
      20. Embedding Your View Controllers within UINavigationController 00:02:51
      21. Navigating Around with Segues 00:02:27
      22. Passing Objects from One View Controller to Another 00:05:33
      23. Adding App Icons 00:02:52
      24. Working with the DreamSeekr Launch Screen 00:03:28
    3. Chapter 3 : Mastering Swift 2 Programming
      1. The Course Overview 00:04:03
      2. Swift Review – Operators, Types, and Strings 00:06:14
      3. Swift Review – Collection Types 00:05:23
      4. Swift Review – Classes, Structs and Enums 00:05:51
      5. Swift Review – Flow of Control and Optionals 00:06:06
      6. What’s New in Swift 2? 00:05:40
      7. Functional Programming 00:05:11
      8. Protocol Oriented Programming 00:03:49
      9. Introducing Game of Life 00:09:17
      10. Function Value Types and Closure Syntax 00:03:57
      11. Extensions 00:05:47
      12. Generics 00:05:29
      13. Higher-order Functions – Filter 00:08:16
      14. Higher-order Functions – Map 00:05:10
      15. Higher-order Functions – FlatMap 00:03:28
      16. Higher-order Functions – Reduce 00:02:40
      17. Sequences and Generators 00:04:08
      18. What Is ARC? 00:06:15
      19. Introduction to Instruments 00:04:31
      20. Strong Reference Cycles 00:04:58
      21. Fixing our Leak – Weak and Unowned References 00:04:45
      22. Creating a Zombie 00:04:37
      23. 8 Tips to Improve Memory Performance 00:05:31
      24. Implicit Bridging and Cocoa 00:05:41
      25. Exposing Swift to Objective-C 00:05:23
      26. Using Objective-C in Swift 00:04:43
      27. Interacting with C 00:05:28
      28. Wrapping C++ for Using in Swift 00:03:45
      29. Working with CocoaPods 00:05:32
      30. Incorporating an Objective-C Library 00:06:34
      31. Understanding Concurrency 00:04:11
      32. Threading with NSThread 00:04:47
      33. Locking Threads 00:03:27
      34. Asynchronous Methods 00:04:35
      35. Concurrency with NSOperationQueue 00:05:55
      36. Grand Central Dispatch 00:04:15
      37. Working with Dispatch Queues 00:04:19
      38. Asynchronous Programming with Dispatch Groups 00:06:28
      39. The LLDB Debugger 00:05:31
      40. Advanced Breakpoints 00:06:59
      41. The LLDB Command Language 00:04:17
      42. Address Sanitization 00:03:38
      43. Assertions 00:04:24
      44. Error Handling 00:05:42
      45. Identifying Performance Bottlenecks with XCTest and Time Profiler 00:06:42
      46. Whole Module Optimization 00:06:04
      47. Reducing Dynamic Dispatch 00:03:40
      48. Reference Types and Performance 00:04:40
      49. Generic Specialization 00:04:40
      50. Choosing the Right Algorithm 00:04:55
      51. Memoization 00:07:55
      52. Design Patterns Overview 00:02:59
      53. Singleton Pattern 00:04:50
      54. Factory Pattern 00:05:12
      55. Adapter Pattern 00:04:58
      56. Façade Pattern 00:03:27
      57. Chain of Responsibility Pattern 00:04:42
      58. Observer Pattern 00:04:36
    4. Chapter 4 : Advanced Swift 2 Application Development
      1. The Course Overview 00:04:10
      2. Reviewing the Project Code 00:03:15
      3. Installing CocoaPods 00:03:19
      4. Reviewing Pods 00:03:30
      5. Creating a Podfile to Manage Dependencies 00:04:19
      6. Using SDWebImage for Lazy Image Loading 00:03:33
      7. Animating Our Views with UIView 00:05:58
      8. Working with CALayer 00:03:27
      9. Animating with CABasicAnimation 00:03:38
      10. Creating Our Logo in CAShapeLayer 00:06:11
      11. Understanding Core Data Terminology 00:08:58
      12. Creating Entities and Attributes in the Core Data Editor 00:05:52
      13. Saving Data 00:06:14
      14. Retrieving Data Using NSFetchedResultsController 00:06:37
      15. Updating Data 00:06:04
      16. Deleting Data 00:02:39
      17. Updating the Database 00:03:36
      18. Implementing Core Location to Receive Your users’ Location Updates 00:04:41
      19. Creating a MapView and Centering on Their Position 00:06:35
      20. Creating Map Annotations to Display Your Data 00:05:54
      21. Working with MapView Delegate Methods 00:07:53
      22. Adding a Watch Target 00:02:52
      23. Working with the Interface Builder 00:04:41
      24. Making Use of App Groups 00:03:56
      25. Working with WCSession 00:07:09
      26. Navigating Through the App 00:04:36
      27. Implementing a Complication 00:07:58
      28. Introducing Unit Tests 00:03:14
      29. Setting Up and Tearing Down Tests 00:03:37
      30. Using XCAssert to Validate Code 00:05:37
      31. Looking at Code Coverage Reports 00:02:40
      32. Using Xcode to Record UI Tests 00:02:44
      33. Creating a Distribution Certificate 00:05:03
      34. Setting Up the App in iTunes Connect 00:01:47
      35. Archiving the App and Uploading It to iTunes Connect 00:03:08