Soon I get the chance via my job to follow the course at U2U. It will be one week training. Looking forward to that.
This is the course outline:
iOS and the structure of an iOS App
The iOS platform enables radically different ways of using software. We will introduce iOS as platform for building mobile applications, and discuss the design patterns needed to create an application that conforms to the Apple User Interface Design guidelines.
Layers of iOS
Limitations of the mobile platform
Native vs web apps
Access to hardware and software
One active application and one window
Limited access, response time, screen size, system resources
The iOS SDK, the APIs and frameworks
XCode, Interface Builder and iOS Simulator
In this module you will explore the capabilities of XCode, Interface Builder and the iOS Simulator, the tools to be used as iOS developer.
iOS App building blocks
We will build a first iOS app and explore how code should be structured and discover the responsibilities of all different components. Cocoa Touch will be introduced in this module as the programming framework driving user interaction on iOS.
Design Patterns, especially the Model-View-Controller pattern
Introduction to application delegates
Outlets and actions
Adding views dynamically
View based application templates
Working with storyboards
This module introduces the widgets and controls used to build the user interface.
Active and Passive Controls
Image View and Text Fields
The Touch Keyboard
Slider and Label
Switches, Button, Segmented Control
Action Sheet, Alert View
Autorotation and Autosizing
You'll learn how to make optimal use of the limited available screen estate, for example when the user switches form portrait to landscape view...
Responding to device rotations
Programmatically rotating the screen
Xcode struts and springs
Using the new Xcode AutoSize
Multi view applications
If one view can no longer contain all the information that you want to show, extra views can become necessary. We discuss how to switch between content views.
Architecture of a multi view application
Using the NavigationViewController
Tab Bars and Pickers
The user interface often has to be designed to support a multi view apps, including switching tabs to change the view.
Selecting values with a Picker Control
Delegates and Data Sources
Tab Bar framework
Using pickers to select values from a predefined set of values.
Date Picker, Single-component picker, Multi-component Picker
Dependency between components
Creating a custom picker
Table Views and Navigation Controllers
A table view presents a scrollable list of items that may be divided into sections, and are often used for hierarchical navigation.
Table View Styles
The Table View API
Inserting rows and deleting selections
Navigating through complex hierarchies
Objects of a navigation interface
You'll explore the additional UIKit components that help to create apps that better utilize the iPad screen size and usage patterns.
New Input Methods
Implementing Application Preferences
Creating user-customizable applications means managing, saving and using user settings.
The Settings Application Interface
Creating and modifying the Settings Bundle
Configuring a Settings Page
iOS has a set of tools and frameworks for storing, accessing, and sharing data. Core Data is a data modeling framework, while SQLite is perfect for low-level relational database work. Apps can share data using a URL-based system that works across all of iOS. iOS apps even have access to a device’s global data such as contacts in the Address Book, and photos in the Photo Library.
Core Data Basics
File Saving Strategies
Archiving Model Objects
Programming the Multitouch interface
Because an iPad or iPhone screen can detect multiple touches at the same time and track them independently, apps are able to detect a wide range of gestures, giving the user power that goes beyond classical user interfaces.
Events and Touches in iOS
The Multitouch architecture
Responder chain enabling cooperative event handling
Taps, touches, gestures
Gesture recognizers for swipes, multiple taps, pinches
The iOS has a robust localization architecture that lets you easily translate your application into multiple languages.
Support for Internationalization
Preparing for Localization
Localizing String Resources
This module discusses the various ways to consume web services in an iOS applicatoin.
The CFNetwork framework
Working with streams
Communicating with http and ftp servers.
Calling REST services with RestKit
Using UIWebView to embed web content
Apple push notification service
If time permits:
Embedding maps with Map Kit
Ticketing with Passbook
Managing reminders with Map Kit
Audio & Video, Animation