
this introduction presents the complete iOS bootcamp, combining iOS 8, iOS 9, watch kit, and iOS apps courses into one updated program with Swift basics and seven applications.
Install the stable Xcode from the app store or developer site, then create and run a hello world Swift playground and view output in the console.
Explore the Xcode interface by creating a new iOS single view app in Swift, and learn to use the file and navigator panes, breakpoints, and unit test setup.
Explore the inspector panel, covering file inspector tabs: file template, code snippet, object, and media libraries, plus help. Learn identity, attributes, size, and connections inspectors for storyboards.
Tackle the Xcode editor suite, from the source code editor and interface builder to storyboard and nib editors, with context sensitive editing, versioning, and dual editor views.
Write a simple hello world iPhone app in Xcode using storyboard, and explore model-view-controller architecture with a view controller and separate model, then adjust compact width metrics.
Learn to create a button action and hook it up to a storyboard button via the target-action pattern, using touch up inside, then verify hello world output.
Bind a storyboard label to a view controller with an outlet, then update its text to 'Hello X code' in the button action, showcasing outlet wiring and UI updates.
Define variables and constants in Swift, using var for mutable values and let for immutable ones. Observe a Swift playground showing live results and how assignments affect values.
Explore Swift’s primitive numeric types, including int and double, their bit-size subtypes, and the need for explicit casts under strong type checking for iOS interoperability.
Master swift optionals, which can hold a value or nil, using ? or !. Learn to unwrap with if let and implicit unwrapping using price, tax, and total as examples.
Explore strings and characters in Swift, including string literals, concatenation, and mutable vs immutable strings, plus Unicode and grapheme clusters, and safe string indexing with start and end indices.
Learn how booleans in Swift hold true or false, use complete boolean tests (not nil) in conditionals, and safely unwrap optionals with string interpolation examples.
Explore Swift tuples to group name, price, and quantity for an inventory item; access elements by index or named labels, use wildcards, and return tuples from functions.
Tackle unresponsive Swift playgrounds by shifting from get started to creating a new playground via the file menu, and explore Swift's arrays, sets, and dictionaries as core collection types.
Align the command line tools with the Xcode version to fix playground errors. In Xcode, preferences → locations, set Command Line Tools to the exact version shown in About Xcode.
Explore Swift arrays as index-based, typed collections and master zero-based indexing, array literals, and the initializer; mutate arrays with append, insert, remove, and slices, and loop with for-in and ranges.
Explore sets in Swift, an unindexed collection with unique elements and no implied order. Learn creation, membership checks, and set operations such as intersection, union, exclusive or, and subtract.
Explore dictionaries in Swift: a key-value collection with hashable string keys and int values, supporting updates, optional handling, and removal, while illustrating ordering and retrieval.
Explore Swift loops, including for, for-in, while, and repeat, with counted and uncounted variants, array indexing, and a practical table of squares and square roots using break and continue.
The lecture covers decision constructs in Swift, including if with else, guard for false conditions, and switch with expressions, cases, default, and tuple switching with where.
Master basic function syntax in Swift, define functions with parameters, return values, and understand external versus internal parameter names, including how to call and silence parameters.
Learn how to define functions with default parameters and variadic parameters, including external names, when defaults apply, and how to implement one variadic parameter per function.
Explore how Swift differentiates value and reference types when passed to functions, including value copies, inout parameters, the ampersand operator, and swapping with tuples.
Explore how Swift functions are first-class types, define their parameter and return types, and pass or return functions, including nested functions and closures.
Learn closures in Swift as a powerful function type that captures values, supports unnamed and trailing closures, and enables map and reduce through higher order functions.
Learn how Swift enumerations define a type with fixed cases like red, amber, and green, breaking the link to a specific numeric value and enabling associated types.
Assign raw values to a Swift enumeration, mapping red to 1, amber to 2, green to 3, and instantiate a stoplight from a raw value; illustrate enums with hex values.
Discover how associated types in Swift enumerations let each case hold different underlying types, creating a union-like, discriminated union behavior.
Explore how enumerations can define default and raw value initializers, assign self in init, and demonstrate days of week defaults and raw value initialization across enums, structs, and classes.
Explore mutating functions in enums by reassigning self to change the case, using associated types like string, int, and dictionary, with a day-of-week example.
Explore classes and structures in Swift with a circle example; see how a circle class is a reference type and a circle struct value type, both with radius and area.
computed properties compute values at runtime rather than storing them, can live in classes, structures, or enumerations, and use a getter and optional setter for calculations like a circle’s area.
Learn how to use property observers in Swift with willSet and didSet on stored properties, illustrated through a circle's radius and a stack's push and pop operations using optional values.
Declare a lazy stored property in Swift to defer memory and computation until first use. The Fraction example computes a decimal only if the denominator is non-zero, returning nil otherwise.
Discover how type properties and type methods belong to the type itself, accessed by the type name, with static properties and factory methods for creating instances and tracking counts.
Explore Swift inheritance by building a simple item and sellable item hierarchy, illustrating root classes, super, overrides, and initializers, with price, discount, and total price calculations.
Develop a simple iOS app using Swift concepts, with a name input and greeting label, while managing keyboard behavior and empty input in the simulator.
Create a new Xcode project for a single-view iOS app in Swift, configure project settings and bundle identifier, and start building a model class to represent the user data.
Instantiate a separate model class in the view controller to encapsulate large app data, using a constant let that references the model’s default initializer, and wire it via the storyboard.
create the view in iOS using storyboard and bind the view to a view controller, ensuring the custom class matches, then add a label and text field with constraints.
Learn to wire a text field and label in a view controller using Interface Builder, implement the done return key, and update a greeting label based on user input.
Demonstrates model–view–controller in iOS by separating data from presentation and showing how the controller mediates between the model and the view using IBOutlet and IBAction, with target-action across events.
Explore delegation: the controller and model communicate via a protocol, with the controller as the model's delegate to act when the count reaches the maximum in a people counter app.
Wire outlets and actions for count and reset in the view controller, and build a model to track count and max count initialized to 10.
Define a count delegate protocol and adopt it in the controller, so the model can notify when the max count is reached, update the user interface, and disable the button.
Learn how to connect view controllers with a storyboard segue, using show segues, identifiers, and back navigation to present and dismiss a new view.
Learn how to unwind back to a target view controller using the exit control in the complete iOS bootcamp course, avoiding pushing new controllers and memory issues.
discover how to set up a navigation controller app, designate the navigation controller as the initial view, and bind a custom navigation controller class to manage a stack-based navigation flow.
Set a root view controller in a navigation controller, connect it with a relationship segue, then use show segues to navigate route, second, and third view controllers.
Discover how to pass data forward in a navigation controller with prepare for segue, casting the destination to a name view controller, and transferring the text field input.
Learn delegation with a navigation controller to return a user entered name from the name view controller to the route view controller via a protocol and delegate.
Adopt the name delegate protocol in the root view controller, implement the userEntered method, and set the destination view controller's delegate during prepare for segue to receive the name.
Explore how a tab bar controller manages multiple view controllers with a tab bar, compare it to a navigation controller’s stack, and learn to add items and maintain model data.
Create a two-tab iOS tab bar app by wiring a new person view controller to a phonebook model via delegation, load tab bar icons from assets, and show the count.
Display tabular data in iOS using a table view controller and prototype cell. Bind a simple names model to the table, showing one name per row via index paths.
Explore how a table view controller uses UITableViewDataSource and UITableViewDelegate, implementing number of rows in section, number of sections, and header titles.
Apply grouped styles to table views, adjust separators and colors, and use section insets to customize headers, rows, and footers for a polished, discoverable UI.
Learn to index and navigate table views with section headers, footers, and an index, and present row details in a new controller.
Learn to implement subtitle styles in table view cells, displaying animal names as titles and scientific names as subtitles, with a dictionary of animals for a single-section list.
Push a detail view controller from a selected table view cell via a detail segue, set animal name as the title, and pass type and legs with a disclosure indicator.
Choose a collection that interests you, model it in your app, and display it in a table view controller with optional sections and a detail view segue.
Teach how to extend a note taker app with editable table view rows and persistent state between runs, using a navigation controller, subtitle cells, and add and detail segues.
Learn the note taker model, storing notes as a string-keyed dictionary of subject and text, and save or load data using a plist in the document directory.
learn to display notes in a table view by loading notes from the model, sorting by date, showing subject and date, and add notes via a delegate-driven flow.
Discover how to dismiss keyboards for text views and text fields by using a button with an empty title and resigning first responder, including did end on exit event.
Tap a table cell to present a detail view with the note subject and text in a multi-line, non-editable text view, showing the timestamp.
Configure add and edit buttons in the table view, handle deletion via the table view delegate, and remove the item from the model before deleting the row to maintain integrity.
Create, edit, and reuse code snippets in Xcode by using the snippet library; drag snippets into your code, delete or name them, and use boilerplate switch statements.
Alert users when a plist is missing by using a model delegate and a table view controller to present a friendly alert.
Wrap up this unit by removing debugging print statements and reviewing the code, then reproduce the note taker app from scratch as the final exercise using master-detail and table-view concepts.
In this iOS Bootcamp you will learn fundamentals of developing iOS applications using Swift programming language both the versions.
This course contains 255 lectures spread over 30 hours of video.
You will have access to actively ask Rick any questions you like related to the content.
At the end of the course, you’ll be able to write iOS applications that use tables, hierarchical and tabbed navigation, and understand the principles behind developing any iOS application.
The course will be complimented with shorter sessions on the various
extension frameworks at a later date, including SpriteKit, SceneKit,
HealthKit, WatchKit, etc
We will also cover everything you need to develop compelling apps for Apple Watch using the WatchKit framework and the Swift programming language.
We'll cover the techniques of app development, starting with some simple apps and working our way up to more complex techniques..
We'll build several apps together, including a simple note taker, a few different kinds of calculator, a few of games, a simple memo systems with voice recording and playback, etc.
All topics are easy to learn and presented in digestible short 5 to 15 minute videos with real world examples and demos. The course contains discussions and demos to test your skill. All demos come with full source codes that you can download which is complimentary and use for your projects.
Topics include:
I hope you join me as we explore this course together!