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