Introduction to iOS
The Introduction to iOS course includes basics such as familiarization with iOS, X-Code and Objective-C, as well as practical topics like creating and using views, navigation, core-services, events and controllers, etc.
The topics below can be customized for each training and covered to various depths:
- Overview
- Lecture on concepts
- Lecture on concepts and practice (coding)
- Any of the above with appropriate lab
Development Setup
- Mac Only
- XCode / DashCode
- XCode and iOS versions
- Simulator
- Physical Device
- Registering as an Official Developer
- Beta testing setup
Documentation
- Core Terminology
- Navigating Apple Developer Documentation
- iOS
- XCode
- Objective-C
- Tutorials
- Code Samples
- Third Party documentation sources
X-Code
- UI Overview
- Creating new projects
- Project types
- Editors
- Running and Debugging
- Simulator
Objective C
- Language Basics
- Variables
- Pointers
- Memory
- Arrays
- Objects and Functions
- Conditionals and Looping
- Code Blocks
Desktop vs. Mobile Programming
- OS-X
- iOS
Cocoa Touch
- Overview
- UIKit
- Frameworks
- Data
- Graphics & Animation
- Audio & Media
- Networking
- Application Integration
- Location
- Address
- Map
- Collections
WebKit Framework
- Access web content
- Authentication
- Cookies
Delegates, Controllers and Protocol
- What is a protocol
- Implementing a protocol
- Delegate use in iOS apps
Core Services Frameworks
- Foundation Framework
- System Configuration Framework
- CFNetwork Framework
- Core Data
- Core Location
- Core Media
App Building Block Overview
- Windows and Views
- Navigation and View Controllers
- Xib/Storyboard
- Frameworks/APIs
- Actions/Events
- Storage
Model View Controller (MVC)
- Pattern
- Usage in iOS
Events
- Event Types
- UIEvent Objects
- Touch and MultiTouch
- Motion Events
- First Responder
- Delegation
Controllers
- UIViewController
- UITableViewController
- UINavigationController
- UITabBarController
- UIPopoverController
Memory Management
- Allocation / Deallocation
- Reference Counting
- Autorelease
User Interface Techniques
- ViewController
- Views
- IBOutlet (link code to ui objects)
- IBAction (link code to ui events)
User Interface Objects
- Content Views (Table, Text, Web, Popover)
- Status, Navigation and Tool Bars
- Controls (Buttons, Labels, Text, Sliders, Indicators, Pickers)
- Alert Dialogs
Navigation
- Storyboard
- Navigation Controller
- Segues
Storyboards
- Overview
- Main Storyboard
- Navigation Controller
Windows and Views
- UIWindow
- UIView
- Event Distribution
- View Hierarchy
- Drawing
Notifications
- What they are for
- How they appear/work
- Posting
- Registering
Storage
- File Storage (is this used on iPhone or mainly for Mac apps?)
- Core Data
- SQLite
- Cross-App Data (contacts, photos, calendar, etc.)
- Object Storage
- iCloud
Multimedia
- Playing Sounds and Alerts
- Playing Video
App Design
- UI Interface Guidelines
- User Centric Design
Networking
- CFNetwork Framework
- HTTP
- Authentication
Location
- CoreLocation.framework
- Locations
- Getting Current Location
- Displaying Maps
- GeoCoding
Preferences
- Overview
- CFPreferences
- Reading and Writing preferences
- Displaying Preferences for user reference and edit
Enterprise Interfacing
- WebServices
- JSON
Packaging and Distribution
- Packaging an application
- Uploading to AppStore
- Alternate forms of distribution
Additional Resources
- Apple Resources
- Third Party Resources
- Forums
- Books