1- A Simple iOS Application
•
Creating an Xcode Project•
Building Interfaces•
Model-View-Controller•
Declarations•
Declaring instance variables•
Declaring methods•
Making Connections•
Setting pointers•
Setting targets and actions•
Summary of connections•
Implementing Methods•
Build and Run on the Simulator•
Deploying an Application•
Application Icons•
Launch Images
• Beginner level:
Modules 1 to 18.• Advanced level:
Quick review of modules 1 to 18, then following to module 26.FROM 1st TO 4th OF FEBRUARY 2012
contents of the
app’s creation
training track
2- Objective-C
•
Objects•
Using Instances•
Creating objects•
Sending messages•
Destroying objects•
Beginning RandomPossessions•
NSString•
NSArray and NSMutableArray•
Subclassing an Objective-C Class•
Instance variables•
Accessor methods•
Instance methods•
Initializers•
Other initializers and the initializer chain•
Using Initializers•
Class methods•
Testing your subclass•
Exceptions and the Console Window•
Fast Enumeration•
Introduction to Challenges•
Easy Challenge: Bug Finding•
Medium Challenge: Another initializer•
Hard Challenge: Another class•
Class Names
3- Managing Memory with ARC
•
The Stack•
The Heap•
Pointer Variables•
ARC and Object Lifetime•
Object Ownership•
Strong and Weak References•
Properties•
Copying•
Dot Syntax
4- Delegation and Core Location
•
Projects, targets, and frameworks•
Core Location•
Receiving updates from CLLocationManager•
Delegation•
Protocols•
Delegation, controllers, and memory management•
Using the Debugger•
Using Breakpoints•
Diagnosing Crashes and Exceptions•
Challenge: Heading•
For the More Curious: Build Phases, Compiler Errors, and Linker Errors•
Preprocessing•
Compiling•
Linking
5- MapKit and Text Input
•
Object Diagrams•
MapKit Framework•
Interface Properties•
Being a MapView Delegate•
Using the documentation•
Your own MKAnnotation•
Tagging locations•
Putting the pieces together•
Annotation Extras
6- Subclassing UIView and UIScrollView
•
Creating a Custom View•
The View Hierarchy•
The drawRect: Method•
Core Graphics•
UIKit Drawing Additions•
Redrawing Views•
Motion Events•
Using UIScrollView•
Paging•
Zooming•
Hiding the Status Bar•
Colors•
Shapes•
Another view and Curves
7- View Controllers
•
UIViewController•
Subclassing UIViewController•
Another UIViewController•
UITabBarController•
View Controller Lifecycle•
UIViewController and Lazy Loading•
View Controller Subclasses and Templates•
Another Tab•
Controller Logic•
For the More Curious: The main function and UIApplication•
For the More Curious: Retina Display
8- Notification and Rotation
•
Notification Center•
UIDevice Notifications•
Autorotation•
Setting autoresizing masks programmatically and bitwise operations•
Forcing Landscape Mode•
Proximity Notifications•
Overriding Autorotation
9- UITableView and UITableViewController
•
Beginning the Homepwner Application•
UITableViewController•
Subclassing UITableViewController•
UITableView’s Data Source•
BNRItemStore: a singleton•
Implementing data source methods•
UITableViewCells•
Creating and retrieving UITableViewCells•
Reusing UITableViewCells•
Code Snippet Library•
Sections•
Constant Rows•
Customizing the Table
10- Editing UITableView
•
Editing Mode•
Adding Rows•
Deleting Rows•
Moving Rows
11- UINavigationController
•
UINavigationController•
An Additional UIViewController•
Navigating with UINavigationController•
Pushing view controllers•
Passing data between view controllers•
Appearing and disappearing views•
UINavigationBar•
Number Pad
12- Camera
•
Displaying Images and UIImageView•
Taking pictures and UIImagePickerController•
BNRImageStore•
Creating and using keys•
Wrapping up BNRImageStore•
Dismissing the keyboard•
Challenge: Removing an Image•
Recording Video13- UIPopoverController and Modal View Controllers
•
Universalizing Homepwner•
UIPopoverController•
Modal View Controllers•
Dismissing modal view controllers•
Modal view controller styles•
Completion Blocks•
Modal view controller transitions•
View Controller Relationships14- Saving, Loading, and Multitasking
•
Application Sandbox•
Constructing a file path•
Archiving•
Archiving objects•
Unarchiving objects•
Application States, Transitions, and Multitasking•
Writing to filesystem with NSData•
More on Low-Memory Warnings•
Model-View-Controller-Store Design Pattern•
Challenge: Archiving Whereami•
Application State Transitions•
Reading and Writing to the filesystem•
The Application Bundle
15- Subclassing UITableViewCell
•
Creating HomepwnerItemCell•
Configuring a UITableViewCell subclass’s interface•
Exposing the Properties of HomepwnerItemCell•
Using HomepwnerItemCell•
Image Manipulation
16- Core Data
•
Object-Relational Mapping•
Moving Homepwner to Core Data•
The model file•
NSManagedObject and subclasses•
Updating BNRItemStore•
Adding BNRAssetTypes to Homepwner•
More About SQL•
Trade-offs of Persistence Mechanisms•
New Asset Types
17- Localization
•
Internationalization using NSLocale•
Localizing Resources•
NSLocalizedString and Strings Tables•
Another Localization•
NSBundle’s Role in Internationalization
18- Settings
•
Updating Whereami•
NSUserDefaults•
The Settings Application
19-Touch Events and UIResponder
•
Touch Events•
Creating the TouchTracker Application•
Drawing with TouchDrawView•
Turning Touches into Lines•
The Responder Chain•
Saving and Loading•
Circles•
UIControl
20- Core Animation Layer
•
Layers and views•
Creating a CALayer•
Layer Content•
Implicitly Animatable Properties•
Programmatically Generating Content•
Layers, Bitmaps, and Contexts
21- Controlling Animation with CAAnimation
•
Animation Objects•
Spinning with CABasicAnimation•
Timing functions•
Animation completion•
Bouncing with a CAKeyframeAnimation•
More Animation•
The Presentation Layer and the Model Layer
22- Blocks and Categories
•
Colorizing TouchDrawView•
Blocks•
Blocks as variables•
Capturing variables•
Using blocks with other built-in methods•
Keeping code compact with blocks•
Categories•
Memory Management and Blocks•
Pros and Cons of Callback Options
23- Web Services and UIWebView
•
Web Services•
Starting the Nerdfeed application•
Fetching data from a URL•
Working with NSURLConnection•
Parsing XML•
A quick tip on logging•
UIWebView•
NSXMLParser•
The Request Body•
Credentials•
More Data•
More UIWebView24- UISplitViewController
•
Splitting Up Nerdfeed•
Master-Detail Communication•
Displaying the Master View Controller in Portrait Mode•
Universalizing Nerdfeed
25- Media Playback and Background Execution
•
Creating the MediaPlayer Application•
System Sounds•
Registering system sounds•
Playing system sounds•
Compressed Audio Files•
Playing Movie Files•
MPMoviePlayerViewController•
Preloading video•
Background Processes•
Guidelines for background execution•
Other forms of background execution•
Low-level APIs•
Challenge: Audio Recording•
26 Bonjour and Web Servers•
Bonjour•
Creating CocoaServer•
Publishing a Bonjour service•
Browsing for services via Bonjour•
HTTP Communication•
Writing a web server in Objective-C•
Getting address data from the server•
Byte ordering•
Making service requests•
Receiving service requests•
Really cool !! TXTRecords