
Explore getting started with iOS 9 development by learning Xcode and Swift, from basics like variables, optionals, and collections to view controllers, MVC, and table view apps.
Explore the iOS Xcode interface by creating a new Swift single-view project, then navigate the file, symbol, find, issue, and test navigators while configuring project settings and breakpoints.
Explore the right inspector panel in the interface builder, including file details, templates, snippets, libraries, and inspectors for identity, attributes, size, and connections.
Explore the Xcode editor, a context-sensitive text editor that switches between swift source, interface builder, and storyboard or nib editors. Use navigation, marks, separators, and debug window for versioned work.
Discover variables and constants in Swift using a playground to declare var for mutable values and let for constants, and observe mutating errors when modifying a let.
Learn how Swift sets are unindexed collections of like type values with no duplicates, created with set annotations and array initialization, and perform contains, insert, remove, intersection, and union.
Explore Swift loops: for, for-in, while, and repeat, including counted loops versus uncountable loops, arrays, indexing rules, and control statements like break and continue.
Learn basic function syntax in Swift, including parameter lists, return values, and how external and internal parameter names affect calls.
Explore Swift enumerations as a type definition using a stoplight with red, amber, or green cases. Learn how associated values and type inference extend enums beyond C-style unions.
Learn to define Swift enumerations with raw values, assigning red=1, amber=2, green=3, instantiate from rawValue, and use hashable types like 32-bit hex colors.
Discover how computed properties derive values at runtime by using getters and setters to calculate a circle’s area from its radius and update the radius when setting the area.
Define and use a lazy property to defer initialization until needed, illustrated with a fraction whose decimal is computed by a closure and becomes nil when the denominator is zero.
Define a root class and a sellable item subclass to illustrate inheritance in Swift. Learn name, product ID, count, price, total price, discount, and colon syntax.
Begin iOS development by building a simple first app with a label, text field, and hello message, and learn keyboard behavior and the simulator keyboard toggle.
Create a new Xcode project with a single view iOS app in Swift, and implement a model-view-controller flow using a model class for the user name.
The model-view-controller pattern separates data from presentation and puts business logic in the controller. The controller wires views to models via outlets and actions, using target-action to handle events.
Learn to display tabular data in an iOS app by wiring a table view controller to a simple model, configuring prototype cells, and using a reuse identifier.
Discover how a table view controller uses the data source and delegate methods to supply sections, rows, header titles, and index-path driven data mapping.
Learn to create, edit, and organize code snippets in the Xcode snippet library, drag and drop reusable boilerplate code, and manage deletion for efficient development.
This course teaches the fundamentals of developing iOS applications using version 2 of the Swift programming language.
The course is in 10 units: the first six cover the Swift language itself; the last four concentrate on the core view controller architecture of an iOS app.
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.
Topics include:
- Introduction to working with Xcode
- Data types, optionals, and tuples
- Collection types: arrays, sets, and dictionaries
- If statements and loops
- functions and closures
- Enumerations
- Classes and structures
- Stored and computed properties
- Inheritance in Swift
- Introduction to iOS
- Model - View - Controller and its role in iOS programming
- Delegation
- Navigation controllers and segues
- Tab bar controllers
- Table view controllers
- Using various cell sty les
- Using headers and footers
- Grouping vs. plain table styles
- Indexing a table view
- A case study: NoteTaker: Showing the full development of an app from start to finish in seven lessons.
I hope you join me as we explore this course together.