Oreilly - iPhone App Development Fundamentals LiveLessons
by Paul J. Deitel | Released March 2010 | ISBN: 9780132122184
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: WelcomeSpot-On GameRoute TrackerTip CalculatorCannon GameSlideshowFavorite Twitter ®SearchesPainterVoice RecorderFlag Quiz GameAddress BookTwitter ®Discount AirfaresBy 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 Show and hide more
- Before You Begin
- Before You Begin 00:17:27
- Welcome to iPhone App Development Fundamentals - Part 1
- 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
- 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
Show and hide more