
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
In this lecture, we will learn how to get Xcode downloaded from Apple's Developer portal and how to get started with iOS development.
Learn how to declare constants and variables in Swift using let and var, perform operations with operators, and handle type safety and casting in a Swift playground.
Explore how Swift strings use Unicode grapheme clusters, and learn to navigate with start, end, and offset indices; insert, remove, iterate, and understand substrings and ranges for robust string handling.
Explore dictionaries in Swift, learning how to declare, access, update, and remove key-value pairs with subscripts, optional handling, and iteration, including sorting keys.
Explore how Swift switch statements work, including ranges and default cases. Learn value binding, tuples, wildcards, where clauses, compound cases, and follow-through to write exhaustive, readable iOS code.
Explore swift functions, including parameters, return types, multiple returns with tuples, argument labels, default values, variadic parameters, and inout to modify inputs.
Explore inheritance in Swift, creating a base and subclass hierarchy, overriding and calling super, using final to block overrides, and applying didSet and willSet observers for dynamic behavior.
Learn to treat protocols as types in collections, implement protocol inheritance, and extend types to conform to flyable and land double, with description and conditional unwrapping.
MVC is a design pattern that Apple recommends to use for iOS. In this lecture we will learn what is MVC and how it applies to iOS development.
Discover how a view controller conforms to the UI table view data source and delegate, implements row counts, and dequeues reusable cells with index paths.
Master the UI table view data source protocol to drive sections, rows, and cells using index paths, register cells with identifiers, and debug via Interface Builder and breakpoints.
Learn how to navigate between screens in iOS apps using modal presentation and pushing on a navigation stack, including creating a detail view controller and handling dismissal.
Configure constraints with hugging and compression resistance priorities to control label sizing. Use Interface Builder, storyboard, and stack views to anchor and test constraints across iPhone and iPad.
Identify your shell with echo $0, then edit the appropriate profile and source $HOME/.rvm/scripts/rvm so the RVM and pod commands work in the new terminal window.
Explore the basics of HTTP and HTTPS, how clients request resources and receive JSON data from web servers, with attention to URLs, protocols, query parameters, and response codes.
Explore networking with iOS standard services by building a URLComponents-based request, adding URLQueryItem tokens, creating a URLSession data task, and decoding JSONDecoder.
Learn networking with Apple standard services, decode json with the Apple json decoder, handle errors via do-catch, and implement api calls from a view controller toward a future view model.
Learn to implement completion callbacks using Swift result and closures to handle asynchronous network responses with Alamo Fire, including escaping closures, trailing closures, and protocol updates for robust data retrieval.
In this course you can learn about iOS 16, Swift 5, iOS App Development using UIKit & SwiftUI and latest frameworks from Apple, best engineering and industry practices on how to develop iOS apps that scale.
The course has 170+ downloadable Xcode project resources, 10+ live coding exercises, 4+ coding challenges, 5+ quizzes, 2 practice tests, 4+ iOS apps and 165+ course materials such as video course lectures, slides and external references to help solidify course materials.
The main focus of the course will be:
get familiar with iOS development environment: Xcode 14 and iOS 16
learn what's new in iOS 16
learn fundamentals of Swift5
learn about Swift Charts
learn about CoreData & UserDefaults
learn how to build apps using Storyboards, SwiftUI and programmatically
master best engineering and industry practices related to iOS development
learn how to use popular iOS frameworks: Combine, MapKit, CoreLocation
get experience building apps with Networking using Alamofire and URLSession
learn how to build UI both using Autolayout and programmatically using PureLayout
get experience with design patterns such as MVC & MVVM
learn how to use Notifications & Delegates
learn how regular expressions in Swift 5.7 work
Swift is a powerful language that Apple recommends to use for iOS development. We will explore basics and fundamentals of Swift 5 language in addition to learning more advanced concepts in Swift 5.
We will learn through examples how to use important components of iOS (Table Views, Collection Views, Text Views, Buttons, Text Fields).
One of the important best practices of development is to use unit tests. Hence, we will also learn how to write unit tests in iOS.
We will learn how to use the latest SwiftUI to build iOS apps. SwiftUI is a next generation tool developed by Apple that can be helpful to build iOS app fast in using responsive and declarative statements. Combine is one of the latest additions from Apple.