Video description
The professional programmer’s DEITEL
®video training guide to iPhone app
development using iPhone SDK 3.x, Xcode
®, Objective-C
®and Cocoa
®
More than 1.5 billion iPhone apps were downloaded from Apple’s App
Store in just one year! This LiveLesson video training course gives
you everything you’ll need to start developing great iPhone apps
quickly and–once you’ve joined Apple’s fee-based iPhone Developer
Program–to get them up and running on the App Store. The LiveLesson
uses an app-driven approach–each new technology is discussed in the
context of 14 fully tested iPhone apps (7700 lines of code),
complete with syntax shading, code walkthroughs and sample outputs.
Apps you’ll develop include:
Welcome
Spot-On Game
Route Tracker
Tip Calculator
Cannon Game
Slideshow
Favorite Twitter
®Searches
Painter
Voice Recorder
Flag Quiz Game
Address Book
Twitter
®Discount Airfares
By Lesson 3 you’ll be building apps using Xcode
®, Cocoa
®and Interface Builder. You’ll learn
object-oriented programming in Objective-C
®and build apps using the latest iPhone
3.x technologies including the Game Kit, iPod library access and
more.
iPhone Fundamentals LiveLessons includes practical,
example-rich coverage of:
• iPhone SDK 3.x, XCode
®, Interface Builder
• Object-Oriented Programming in Objective-C
®and Cocoa
®
• Collections, GUI, Event Handling
• Controllers, Application Templates
• UIView, Multi-Touch™
• Core Audio, Core Animation, NSTimer
• Tables, UINavigationController
• Map Kit, Core Location, GPS, Compass
• Photos, iPod Library Access
• Serialization
Table of Contents
Before You Begin
Before You Begin
00:17:27
Welcome to iPhone App Development Fundamentals - Part 1
Introduction
00:07:36
Lesson 1: Welcome App (Based on Chapter 3 of iPhone for Programmers)
Overview
00:07:56
Learning Objectives
00:01:50
Creating Your First Project
00:06:50
Building the Welcome UI
00:07:46
Lesson 2: Tip Calculator App (Based on Chapter 4 of iPhone for Programmers)
Overview
00:04:18
Learning Objectives
00:02:21
Building the Tip Calculator UI
00:11:34
Creating the Controller Class
00:11:08
Connecting IBOutlets to the UI components in Interface Builder
00:08:18
Controller class’s implementation file
00:17:17
Lesson 3: Favorite Twitter Searches App (Based on Chapter 5 of iPhone for Programmers)
Overview
00:06:51
Learning Objectives
00:04:01
Building the Favorite Twitter Searches GUI
00:09:59
Creating the Controller Class
00:07:37
Connecting the IBOutlets to the UI components in Interface Builder
00:03:15
Method init–Initializing the Controller object
00:17:08
Methods awakeFromNib and addNewButtonWithTitle:–creating Buttons for the existing searches
00:08:36
Method refreshList–Refreshing the list of buttons on the Scroll View
00:06:24
Methods infoButtonTouched: and addTag:
00:04:46
Method infoButtonTouched:
00:04:02
Implementing the sorting category
00:04:55
Lesson 4: Flag Quiz App (Based on Chapter 6 of iPhone for Programmers)
Overview
00:06:34
Learning Objectives
00:05:10
Building the Flag Quiz’s Main (frontside) View
00:07:26
Building the Flag Quiz’s Flipside View
00:06:24
Class MainViewController
00:12:59
Class FlipsideViewController
00:07:07
MainViewController.m–Synthesize properties, initWithNibName:bundle: method
00:09:34
MainViewController.m–viewDidLoad method
00:04:29
MainViewController.m–loadNextFlag method
00:14:04
MainViewController.m–submitGuess: method
00:05:41
MainViewController.m–Resetting the quiz
00:02:48
MainViewController.m–showInfo and flipsideViewControllerDidFinish: methods
00:04:16
MainviewController.m–NSString’s displayName category
00:06:53
Lesson 5: Spot-On Game App (Based on Chapter 7 of iPhone for Programmers)
Overview
00:02:47
Learning Objectives
00:04:27
Class SpotOnViewController’s interface
00:10:27
SpotOnViewController.m-viewDidLoad method
00:06:13
SpotOnViewController.m-resetGame method
00:07:17
SpotOnViewController.m-addNewSpot method
00:05:42
SpotOnViewController.m-beginSpotAnimation method
00:04:26
SpotOnViewController.m-touchesBegan:withEvent: method
00:07:16
SpotOnViewController.m-touchedSpot: and beginSpotEndAnimation: methods
00:07:19
SpotOnViewController.m-finishedAnimation:finished:context: method
00:06:32
Lesson 6: Cannon Game (Based on Chapter 8 of iPhone for Programmers)
Overview
00:03:47
Learning Objectives
00:03:31
Class CannonView’s Interface
00:07:53
CannonView.m–initWithCoder: and awakeFromNib: methods
00:05:46
CannonView.m–newGame method
00:03:05
CannonView.m–timerFired: and showAlertWithTitle:message: methods
00:05:01
CannonView.m–drawRect: method
00:13:23
CannonView.m–Touch processing
00:04:53
Lesson 7: Painter App (Based on Chapter 9 of iPhone for Programmers)
Overview
00:01:38
Learning Objectives
00:03:39
Class Squiggle
00:04:26
Class MainView’s interface
00:01:32
MainView.m–Method initWithCoder:
00:01:43
MainView.m–Methods resetView and drawRect:
00:03:10
MainView.m–Method drawSquiggle:inContext:
00:03:11
MainView.m–Touch handling methods
00:07:03
MainView.m–Remaining methods
00:03:35
Class MainViewController
00:04:50
Class FlipsideViewController’s interface
00:05:13
Welcome to iPhone App Development Fundamentals - Part 2
Introduction
00:05:04
Lesson 8: Address Book App (Based on Chapter 10 of iPhone for Programmers)
Overview
00:08:07
Learning Objectives
00:04:19
Class RootViewController’s Interface
00:03:18
RootViewController.m–viewDidLoad method
00:05:29
RootViewController.m–addContact and addViewControllerDidFinishAdding: methods and the sorting category of NSDictionary
00:03:17
RootViewController.m–tableView:numberOfRowsInSection: and tableView:cellForRowAtIndexPath: methods
00:06:35
RootViewController.m–tableView:didSelectIndextAtPath: method
00:01:53
RootViewController.m–tableView:commitEditingStyle:forRowAtIndex: and dealloc methods
00:04:02
Class AddViewController’s Interface
00:06:03
AddViewController.m–initWithNibName:bundle: method
00:02:06
AddViewController.m–doneAdding: method
00:01:19
AddViewController.m–values method
00:01:08
AddViewController.m–Methods that are called to edit a cell in the Table View
00:03:02
AddViewController.m–tableView:numberOfSectionsInTableView:, tableView:numberOfRowsInSection: and tableView:TitleForHeaderInSect
00:01:26
AddViewController.m–tableView:cellForRowAtIndexPath: method
00:04:46
AddViewController.m–Remaining methods
00:01:15
ContactViewController class
00:03:54
Class EditableCell’s Interface
00:03:12
EditableCell.m–initWithStyle:reuseIdentifier: method
00:02:17
EditableCell.m–remaining methods
00:02:23
Lesson 9: RouteTracker App (Based on Chapter 11 of iPhone for Programmers)
Overview
00:07:18
Learning Objectives
00:03:52
MainWindow.xib
00:04:38
Class TrackingMapView’s Interface
00:03:23
Class TrackingMapView’s Implementation
00:10:44
Class Controller’s Interface
00:03:59
Controller.m–viewDidLoad method.
00:02:36
Controller.m–toggleTracking method.
00:03:42
Controller.m–resetMap, selectMapMode: and mapView:viewForAnnotation: methods
00:01:32
Controller.m–locationManagerLdidUpdateToLocation:fromLocation: method
00:01:48
Controller.m–locationManager:didUpdateHeading: and locationManager:didFailWithError: methods
00:02:16
Lesson 10: Slideshow App (Based on Chapter 12 of iPhone for Programmers)
Overview
00:05:07
Learning Objectives
00:03:59
Class RootViewController’s Interface
00:06:28
RootViewController.m–viewDidLoad method
00:03:35
RootViewController.m–Methods viewWillAppear: and addSlideShow
00:02:49
RootViewController.m–Methods nameViewController:didGetName: and tableView:numberOfRowsInSection:
00:02:14
RootViewController.m–tableView:cellForRowAtIndexPath: method
00:03:43
RootViewController.m–slideShowCellDidSelectEditButton: and slideShowCellDidSelectPlayButton: methods
00:03:02
RootViewController.m–tableView:commitEditingStyle:forRowAtIndexPath:, tableView:moveRowAtIndexPath:toIndexPath: and tableView:c
00:03:26
Class SlideshowCell
00:06:41
Class SlideshowViewController’s Interface
00:03:52
SlideshowViewController.m–loadView and nextImageView methods
00:03:36
SlideshowViewController.m–exitShow and timerFired: methods
00:03:47
SlideshowViewController.m–transitionFinished:finidhed:context, viewWillAppear and viewDidDisappear methods
00:03:45
SlideshowViewController.m–shouldAutoRotateToInterfaceOrientation: and willRotateToInterfaceOrientation:duration: methods
00:04:03
SlideshowViewController.m–Scaling category implementation for UIImageView
00:03:06
Class NameViewController
00:03:52
Class SlideshowDataViewController’s Interface
00:06:04
SlideshowDataViewController.m–viewDidLoad method
00:05:16
SlideshowDataViewController.m–viewDidAppear: and viewWillDisappear: methods
00:02:11
SlideshowDataViewController.m–addPhoto and imagePickerController:didFinishPickingImage:editingInfo: methods
00:02:36
SlideshowDataViewController.m–addMusic and mediaPicker:didPickMediaItems: methods
00:02:04
SlideshowDataViewController.m–addEffect, actionSheet:clickedButtonAtIndex:, startSlideShow and firstImage methods
00:03:13
SlideshowDataViewController.m–UITableViewDataSource methods
00:03:54
Lesson 11: Enhanced Slideshow App (Based on Chapter 13 of iPhone for Programmers)
Overview
00:03:23
Learning Objectives
00:04:39
Class MediaItem
00:07:31
Class MediaItemCreator
00:04:34
Class Slideshow’s Interface
00:02:56
Class Slideshow’s Implementation
00:05:48
RootViewController.m–Changes in the RootViewController’s Implementation.
00:01:30
SlideshowDataViewController.h–Changes in SlideshowDataViewController’s interface
00:01:30
SlideshowDataViewController.m–initWithSlideShow: and addPhoto methods.
00:02:06
SlideshowDataViewController.m–imagePickerController:didFinishPickingMediaWithInfo: method
00:04:07
SlideshowDataViewController.m–mediaItemCreator:didCreateMediaItem: method
00:00:45
SlideshowDataViewController.m–mediaPicker:didPickMediaItems and addEffect methods
00:00:46
SlideshowDataViewController.m–startSlideShow and actionSheet:clickedButtonAtIndex: methods
00:01:09
SlideshowDataViewController.m–tableView methods
00:03:01
EnhancedSlideshowAppDelegate method applicationWillTerminate:
00:03:20
Class SlideshowViewController’s Interface
00:02:25
SlideshowViewController.m–nextImageViewWithMedia: and changeSlide methods
00:01:51
SlideshowViewController.m–displayNewImage:
00:03:04
SlideshowViewController.m–displayNewVideo: and videoFinished: methods
00:02:58
Lesson 12: Voice Recorder App (Based on Chapter 14 of iPhone for Programmers)
Overview
00:03:49
Learning Objectives
00:04:10
Class VoiceRecorderViewController’s Interface
00:03:39
Building the view for the VoiceRecorderViewController
00:04:18
VoiceRecorderViewController.m–viewDidLoad, record: and nameRecordingViewController:didGetName: methods
00:12:58
VoiceRecorderViewController.m–flip:, playbackViewControllerDidFinish: and timerFired: methods
00:02:07
Class NameRecordingViewController
00:08:41
Class Visualizer
00:04:36
Class PlaybackViewController’s Interface
00:04:10
Building the view for the PlaybackViewController
00:03:18
PlaybackViewController.m–viewDidLoad method
00:02:08
PlaybackViewController.m–sliderMoved:, togglePlay: and updateVolume: methods
00:02:07
PlaybackViewController.m–timerFired: and record: methods
00:01:43
PlaybackViewController.m–playSound method
00:02:07
PlaybackViewController.m–stopSound method
00:00:53
PlaybackViewController.m–tableView methods
00:06:53
PlaybackViewController.m–sending an email
00:03:26
Lesson 13: Enhanced Address Book App (Based on Chapter 15 of iPhone for Programmers)
Overview
00:03:42
Learning Objectives
00:05:29
Creating the Core Data Model
00:04:11
ContactViewController class’s Interface
00:03:15
ContactViewController.m–viewDidLoad and send methods
00:04:10
ContactViewController.m–peerPickerController:didConnectPeer:toSession: method
00:02:59
ContactViewController.m–peerPickerControllerDidCancel:, tableView:numberOfRowsInSection:, tableView:cellForRowAtIndexPath:
00:02:36
Class RootViewController’s Interface
00:02:44
EnhancedAddressBookAppDelegate
00:02:02
RootViewController.m–viewDidLoad method
00:02:40
RootViewController.m–sessionDidReceiveConnectionRequestFromPeer:, alertView:clickedButtonAtIndex: and alertViewCancel: methods
00:02:58
RootViewController.m–receiveDate:fromPeer:inSession:context: method
00:04:14
RootViewController.m–insertNewObject and addViewControllerDidFinishAdding: methods
00:01:45
RootViewController.m–tableView methods
00:05:20
RootViewController.m–fetchedResultsController method
00:03:28
Lesson 14: Twitter Discount Airfares App (Based on Chapter 16 of iPhone for Programmers)
Overview
00:03:06
Learning Objectives
00:03:07
Class Airfare
00:00:48
Class RootViewController’s Interface
00:01:40
Class RootViewController’s implementation
00:07:13
Class WebViewController
00:03:31
Class TwitterConnection
00:06:02
Class AirfareFinder’s Interface
00:02:41
AirfareFinder.m–getAirfares, twitterConnection:didReceiveData: and XML parsing methods.
00:06:45
AirfareFinder.m–parsing category methods for class NString
00:05:22
Class AirfareCell
00:03:32