iOS Swift Programming by Example LiveLessons (Video Training)

Video description

8+ Hours of Video Instruction

The Swift programming language is an ever-changing work in progress, and the best way to understand how you can use it to build iOS apps and roll with future changes to the language is to learn the fundamentals now. iOS Swift Development by Example LiveLessons provides developers with a solid understanding of Swift coding basics into intermediate-level and some advanced practices, so that they can become even more adept at working with the language as it continues to evolve.

Description

This video training offers developers a practical introduction to programming with Swift, Apple’s proprietary programming language. The video starts with a comprehensive survey of Swift fundamentals, including how to work with playgrounds, Apple’s interactive coding environment. It uses playgrounds to examine Swift’s fundamental structure and language basics, such as loops and conditionals, data types, and much more. Next, the training teaches viewers how to work with functions and closures, define data structures, perform actions using methods, write Swift code that interacts with Objective-C, work with UIKit, and design interfaces using storyboards. The video further covers more advanced Swift topics such as using functional programming paradigms, closures, generic programming, and adding behavior to existing data types with extensions. After watching this video, developers who perhaps have never worked with a functional programming language will understand the differences between Swift and Objective-C, current iOS developers will gain a better understanding of how to incorporate Swift into their application programming practices, and new iOS developers will learn how Swift simplifies the process of building their first (or second) iOS application.

About the Instructor

BJ Miller is an iOS developer for DXY Solutions, a development and design consultancy in the Cleveland, Ohio, area. BJ earned his B.S. in Computer Science from Baldwin-Wallace College (now called Baldwin-Wallace University) in Berea, Ohio, the town where he grew up. His latest career path encompasses large-scale enterprise network administration, SQL database administration, and Microsoft SharePoint Server and Microsoft Project Server administration and integration as a contractor for the United States Department of Defense, with all the Microsoft certifications that come along with that. Before that, he spent several years in LAN engineering, designing, and implementing network infrastructure, as a Cisco Certified Network Associate.

BJ is also the author of Teach Yourself Swift in 24 Hours, a hands-on practical approach to learning the Swift language by example. BJ also helps lead the Cleveland CocoaHeads chapter, presents Swift- and iOS-related topics there, and speaks at various other developer conferences such as CodeMash and CocoaConf.

Skill Level

  • All Levels

What You Will Learn

  • How to navigate Xcode and the Swift playground
  • How to use both object-oriented and functional programming paradigms in Swift
  • How to build a functional iOS application entirely using Swift
  • How to code an app using Swift alongside Objective-C
  • How to persist model data using Apple’s Core Data framework
  • How to add concurrency and networking functionality to your iOS app

Who Should Take This Course

  • Longtime Objective-C developers looking for an introduction to the Swift language
  • iOS developers interested in building their first all-Swift iOS application or integrating Swift into an existing application
  • Developers of other languages who are new to the iOS platform and want to expand their knowledge

Course Requirements

  • Basic knowledge of object-oriented programming and data structures
  • Basic knowledge of Objective-C programming with CocoaTouch
  • A Mac with Xcode 6.3 or greater

Lesson 1: Covering Swift Basics


“Covering Swift Basics” familiarizes you with the foundational syntax and gets you started writing Swift statements in Xcode and working with the new read-eval-print-loop (REPL). You learn about features common to most languages, including arithmetic expressions, conditional logic, and iteration, and you learn how to use types to store different kinds of data.

Lesson 2: Introducing Functions and Closures


“Introducing Functions and Closures” covers functions, closures, and how to use functions as first-class objects in Swift. You learn about the structure of functions and closures and how to use them to perform actions and calculations. You also learn how to pass functions and closures to other functions to be executed elsewhere.

Lesson 3: Defining Data Structures


“Defining Data Structures” takes a look at classes, structs, and enums. You learn about the differences between how Swift and Objective-C handle these types. You learn how to create classes, structs, and enums; how to add stored and computed properties to these structures; how to use raw values with enums; how to add initializers; and how to use optional values. You also learn about the initialization phases for initializing instances and about the memory management involved with reference types such as classes and functions.

Lesson 4: Learning Advanced Swift


“Learning Advanced Swift” explores more complex Swift topics. You learn about optional chaining and how to use optionals to your advantage. You then learn how to use extensions in Swift to extend a type’s capabilities without modifying it. You also learn about generics and other introductory aspects of functional programming.

Lesson 5: Using Swift with Objective-C


“Using Swift with Objective-C” explains how to integrate the two programming languages within the same project, regardless of whether the project started in Objective-C or Swift. You learn how to bridge data types and recognize the differences in syntax.

Lesson 6: Understanding Cocoa Concepts


“Understanding Cocoa Concepts” covers the Model-View-Controller (MVC) paradigm with respect to iOS development. You learn how to design efficient and well-structured object-oriented code. You learn how to use the MVC paradigm to separate code into manageable and sensible chunks. You learn about the Cocoa Touch view lifecycle and about using delegates and data sources to provide custom actions and data to a requesting object. Finally, you learn how to work with, retrieve, and persist model objects to disk using Apple’s Core Data framework.

Lesson 7: Defining Interfaces with Storyboards


“Defining Interfaces with Storyboards” teaches you how to use Xcode's Interface Builder to create the visual layout for your application. You learn how to use Xcode’s Interface Builder component to build storyboards and how to connect its many different UI elements to code. You also learn how to visually lay out an interface using Auto Layout that accommodates devices of various sizes. Finally, you learn how to customize app flow by using segues to handle navigation.

Lesson 8: Creating Apps Integrating Concurrency and Fetching Network Data


“Creating Apps Integrating Concurrency and Fetching Network Data” covers the different methods of fetching data from the network. You learn about the differences between synchronous and asynchronous operations, and you learn how to use Apple’s built-in frameworks to assist in creating efficient software. You also learn how to parse JSON. Finally, you learn how to create an entire app using your cumulative knowledge of Swift and Cocoa Touch.


About LiveLessons Video Training


The LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at http://www.informit.com/livelessons.

Table of contents

  1. Introduction
    1. iOS Swift Programming by Example LiveLessons: Introduction 00:03:17
  2. Lesson 1: Covering Swift Basics
    1. Learning Objectives 00:00:51
    2. 1.1 Use Swift's fundamental data types 00:12:47
    3. 1.2 Declare constants and variables 00:01:04
    4. 1.3 Navigate Xcode's IDE and playgrounds 00:11:17
    5. 1.4 Use the Swift REPL 00:03:01
    6. 1.5 Use Swift's collection data types 00:18:25
    7. 1.6 Use basic Swift operators 00:08:33
    8. 1.7 Check conditional logic 00:05:22
    9. 1.8 Iterate code with loops 00:05:03
  3. Lesson 2: Introducing Functions and Closures
    1. Learning Objectives 00:00:48
    2. 2.1 Understand function basics 00:05:30
    3. 2.2 Send data to functions 00:09:20
    4. 2.3 Return data from functions 00:09:32
    5. 2.4 Nest functions inside functions 00:04:34
    6. 2.5 Use higher-order functions 00:09:14
    7. 2.6 Understand the three types of closures 00:07:33
    8. 2.7 Create concise code with closures 00:08:24
  4. Lesson 3: Defining Data Structures
    1. Learning Objectives 00:00:53
    2. 3.1 Create data types--Part 1: Classes 00:12:39
    3. 3.2 Store data with stored properties 00:13:19
    4. 3.3 Calculate values with computed properties 00:05:10
    5. 3.4 Perform actions with methods 00:05:20
    6. 3.5 Create data types--Part 2: Structs 00:06:45
    7. 3.6 Create data types--Part 3: Enums 00:07:32
    8. 3.7 Use associated values with enums 00:05:26
    9. 3.8 Add initializers to customize instantiation 00:10:40
    10. 3.9 Use optional values and nil 00:13:14
    11. 3.10 Manage memory with capture semantics 00:12:39
  5. Lesson 4: Learning Advanced Swift
    1. Learning Objectives 00:00:55
    2. 4.1 Understand optional chaining 00:05:23
    3. 4.2 Define behavior with protocols 00:12:57
    4. 4.3 Add behavior to existing types with extensions 00:07:45
    5. 4.4 Create flexible code with generics 00:07:52
    6. 4.5 Understand functional programming concepts 00:24:20
    7. 4.6 Create functional result types 00:05:18
  6. Lesson 5: Using Swift with Objective-C
    1. Learning Objectives 00:00:42
    2. 5.1 Understand data type bridging 00:09:17
    3. 5.2 Identify key lingual differences 00:06:58
    4. 5.3 Bridge between Swift and Objective-C 00:01:47
    5. 5.4 Integrate Swift into an Objective-C project 00:07:02
    6. 5.5 Integrate Objective-C into a Swift project 00:05:15
  7. Lesson 6: Understanding Cocoa Concepts
    1. Learning Objectives 00:00:58
    2. 6.1 Understand the Model-View-Controller (MVC) paradigm 00:06:43
    3. 6.2 Utilize the view and view controller lifecycles 00:08:50
    4. 6.3 Provide custom delegates and data sources 00:09:50
    5. 6.4 Persist data with Core Data 00:36:59
  8. Lesson 7: Defining Interfaces with Storyboards
    1. Learning Objectives 00:00:57
    2. 7.1 Understand storyboard fundamentals 00:05:36
    3. 7.2 Use different UI elements 00:10:38
    4. 7.3 Connect outlets and target-action interaction 00:04:35
    5. 7.4 Define UI layouts with Auto Layout 00:09:47
    6. 7.5 Implement adaptive layout 00:04:59
    7. 7.6 Add segues for program navigation and flow 00:07:30
    8. 7.7 Live UI debugging
  9. Lesson 8: Creating Apps--Integrating Concurrency and Fetching Network Data
    1. Learning Objectives
    2. 8.1 Execute code asynchronously--Part 1
    3. 8.1 Execute code asynchronously--Part 2: Dispatch Queues
    4. 8.1 Execute code asynchronously--Part 3: Operation Queues
    5. 8.2 Fetch data from the Internet--Part 1
    6. 8.2 Fetch data from the Internet--Part 2: Synchronously
    7. 8.2 Fetch data from the Internet--Part 3: Asynchronously
    8. 8.3 Parse JSON
    9. 8.4 Tie it all together
  10. Summary
    1. iOS Swift Programming by Example LiveLessons: Summary

Product information

  • Title: iOS Swift Programming by Example LiveLessons (Video Training)
  • Author(s):
  • Release date: May 2015
  • Publisher(s): Pearson
  • ISBN: 0134135865