Shopping Cart

Become a Instructor

Mastering Swift 2 Programming

297 minutes of course content

Review course syllabus

$19.99 $75.00 (taxes calculated at checkout)

100% money-back guarantee  |  Click here to read more

Share this course:
Facebook Google LinkedIn Pinterest Twitter

Course Description

An in-depth video course that covers advanced Swift programming and focuses on writing highly performant, elegant, and readable code

About This Video

  • Explore Swift's revolutionary leap from Objective-C, and leverage its higher-level features to get the most out of the Cocoa framework
  • Learn how to exploit compiler optimizations to attain blazing code performance
  • Gain a deeper understanding of your Swift code through dynamic and easy-to-follow demonstrations

In Detail

Swift 2 is a multi-paradigm programming language that has expressive features familiar to modern functional languages, and does not forget the object-oriented features of Objective-C. Things that took a block of code in Objective-C are reduced to one or two lines in Swift. Swift is said to be safer, faster, and easier to understand, and has the energy of Apple and the open source community behind it.

    After taking this course, you will be able to:

    • This course takes you on a journey through a wide array of topics that are crucial to writing top-level Swift code. You will get an in-depth view of various core topics such as advanced language features, memory management, interoperability, concurrency, advanced debugging, algorithms, and performance optimizations. Last but not least, we’ll also explore Swift design patterns. We’ll start by discussing the uniqueness of Swift, what’s new, and what’s to come. Then we take a look at fast-paced deconstructions of advanced language features such as extensions, generics, protocols, and more. Next we’ll focus on memory management as you learn how to measure and address our applications’ memory usage. Soon we’ll dive into opening Swift up to Objective-C, C, and even C++ code and speeding up development by leveraging third-party frameworks. We will then move on to asynchronous programming and concurrency and you’ll see how to process multiple tasks simultaneously. You’ll discover how to debug your applications more effectively, which is one of the key components to becoming a faster developer. As the journey comes to an end, we will take a look at compiler optimizations, performance measurements, and algorithms and complexity. Finally, you’ll explore specific design patterns can address common programming problems.

    This course is for professionals within the following business functions:

    • Everyone is welcome in this course.

      1. Swift Primer and Introduction to Functional Programming - 43 Minutes

        1. The Course Overview
        2. Swift Review – Operators, Types, and Strings
        3. Swift Review – Collection Types
        4. Swift Review – Classes, Structs and Enums
        5. Swift Review – Flow of Control and Optionals
        6. What’s New in Swift 2?
        7. Functional Programming
        8. Protocol Oriented Programming
      2. Advanced Language Features and Functional Concepts - 49 Minutes

        1. Introducing Game of Life
        2. Function Value Types and Closure Syntax
        3. Extensions
        4. Generics
        5. Higher-order Functions – Filter
        6. Higher-order Functions – Map
        7. Higher-order Functions – FlatMap
        8. Higher-order Functions – Reduce
        9. Sequences and Generators
      3. Exploring Swift’s Memory Management - 31 Minutes

        1. What Is ARC?
        2. Introduction to Instruments
        3. Strong Reference Cycles
        4. Fixing our Leak – Weak and Unowned References
        5. Creating a Zombie
        6. 8 Tips to Improve Memory Performance
      4. Interoperability and Working with 3rd Party Libraries - 38 Minutes

        1. Implicit Bridging and Cocoa
        2. Exposing Swift to Objective-C
        3. Using Objective-C in Swift
        4. Interacting with C
        5. Wrapping C++ for Using in Swift
        6. Working with CocoaPods
        7. Incorporating an Objective-C Library
      5. Concurrency and Grand Central Dispatch - 38 Minutes

        1. Understanding Concurrency
        2. Threading with NSThread
        3. Locking Threads
        4. Asynchronous Methods
        5. Concurrency with NSOperationQueue
        6. Grand Central Dispatch
        7. Working with Dispatch Queues
        8. Asynchronous Programming with Dispatch Groups
      6. Troubleshooting, Advanced Debugging, and Error Handling - 31 Minutes

        1. The LLDB Debugger
        2. Advanced Breakpoints
        3. The LLDB Command Language
        4. Address Sanitization
        5. Assertions
        6. Error Handling
      7. Performance Optimization and Introduction to Algorithms - 39 Minutes

        1. Identifying Performance Bottlenecks with XCTest and Time Profiler
        2. Whole Module Optimization
        3. Reducing Dynamic Dispatch
        4. Reference Types and Performance
        5. Generic Specialization
        6. Choosing the Right Algorithm
        7. Memoization
      8. Design Patterns - 28 Minutes

        1. Design Patterns Overview
        2. Singleton Pattern
        3. Factory Pattern
        4. Adapter Pattern
        5. Façade Pattern
        6. Chain of Responsibility Pattern
        7. Observer Pattern

      About the Expert



      Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work. With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now. From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer. Packt courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.
      Read more