
Download each lecture's resource file to follow along, and download the final resource file from the last lecture to access the course materials.
Display a list of places using a places table view controller, register a cell, and present the list as a page sheet while passing the user location and place annotations.
Build a budget app with UIKit and Core Data to track categories and transactions, add and delete categories, validate input, and display the remaining budget as transactions change.
Create a budget category core data model, add a budget entity with name and amount attributes, and explore class definition code generation in a starter project.
Create a transaction entity with name, amount, and date created; link budget category to transactions (to-many) and transaction back to category (to-one).
Delete a transaction by implementing the UI table view delegate's commit editing style in the budget details view controller, fetching the transaction, and persisting the change after deletion.
Create a custom budget category table view cell in UIKit to display category name, total budget, and remaining amount, using stack views and live previews for visual design.
Learn to delete a budget category and cascade delete its transactions using Core Data with a table view, including commit editing style, error alerts, and reusable UI view controller extensions.
Explore the classy Fake Store API to display categories and their products, perform create, update, and delete operations on categories and products, and support authentication using tokens with pagination.
Create and present an add product view via a right bar button item using AddProductViewController. Preview UI with UIKit and SwiftUI, featuring title, description, price, image, and a category picker.
Implement a delegate-driven flow to persist a new product by posting a create product request to the server, decoding the created product, and updating the list.
Display product images in a horizontally scrolling SwiftUI view embedded in a UIKit product detail screen, using an image loader to download URLs and present UIImages with a loading indicator.
Show errors to users by adding a reusable show alert extension for view controllers that logs the error and presents a UI alert controller with a title and message.
Create a generic networking layer to simplify store http client. Add a resource and an http method enum, with quotable types, to enable operation function for get, post, and delete.
Welcome to “iOS Development Using UIKit & Swift - Project Based Learning”. UIKit is still the dominant framework when building iOS applications. This course covers multiple real world projects, implemented programmatically using the UIKit framework without the use of Storyboards.
Let’s check out the course content below:
NearMe App:
You will learn how to create a MapKit application in UIKit. The app will allow you to search closest points of interest near your current location. This can be a burger joint, taco store, gas station, cafe and more. You will also learn how to display annotations on the map and even display the locations in a list. Users will be able to run the app on their physical device, get directions and even make a call to the designated place.
Budget App:
In this app, you will learn how to use Core Data to persist information locally on the user’s device. You will be building a Budgets application that will keep track of categories and the related transactions for each category.
Store App:
In this app, you will learn how to integrate a UIKit application with a JSON API. You will consume multiple endpoints of a third party api and perform GET, POST and DELETE operations. You will also learn how to inject SwiftUI views into a UIKit application and visualize UIKit controllers using Xcode previews. The app will also cover how to create a generic network layer.
What will you learn in this course?
Students will learn how to create UIKit applications with Swift programmatically.
Students will learn how to use MapKit and Core Location to build real world applications.
Students will learn Core Data and how to persist information in SQLite databases. Students will also learn about creating one to many relationships in Core Data.
Students will learn how to consume JSON from a third party app and perform GET, POST and DELETE operations.
Students will also learn how to integrate SwiftUI views into a UIKit application.
Who is this course for?
This course is for developers who want to learn how to build UIKit applications programmatically, without using Storyboards.
Students who are interested in learning new techniques for building iOS applications.
Students who are interested in learning how to make MapKit, Core Data and JSON using UIKit framework.
Students who are interested in learning how to integrate UIKit with SwiftUI framework and using SwiftUI views in a UIKit application.
All the lectures in the course are accompanied with downloadable resources (code). All code is implemented using the latest version of Xcode and iOS framework.
Thank you again for enrolling in this course. I am sure you will enjoy this course and I can’t wait to see what apps you build in the future.