iPhone SDK Application Development

Errata for iPhone SDK Application Development

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date Submitted Date Corrected
Page 67
near the bottom, in code sample

nagivationController -> navigationController

justin7  Apr 01, 2009  Apr 01, 2009
Page 193
makeRequest method

The first line of code is: CFReadStream readStream; It should be CFReadStreamRef I think, as CFReadStream doesn't exist.

Anonymous  Mar 26, 2009  Apr 01, 2009
Page 320
Last Paragraph of Page

This should read: Type The type for a slider field is PSSliderSpecifier

Anonymous  Mar 22, 2009  Apr 01, 2009
Page 239
4th paragraph

In the discussion of the hidesForSinglePage property, is incorrect. It should read YES instead of NO. As it is printed, the description of this property is backwards. The text should read: By default, the indicator will be displayed even if there is only one page. To hide the indicator when only one page is configured, set the hidesForSinglePage value to YES: pageControl.hidesForSinglePage = YES;

Anonymous  Mar 22, 2009  Apr 01, 2009
Page 154
Example 6-7 last example near bottom of page

In the source code listing for the project AVMeter There is a misprint in the source code name of the file AVMeter main Example 6-7. AVMeter main (AVMeterView.m) file in parentheses should be (main.m)

Anonymous  Mar 05, 2009  Apr 01, 2009
Page 156
Example 6-8, "SoundFinished" function

Hi - There is a typo in the AudioServicesDisposeSystemSoundID which should be called with the param "soundID" instead of "sample". // When the sound is finished playing, this function is called static void SoundFinished (SystemSoundID soundID, void *sample) { /* I'm all finished playing, so free up resources */ /* wrong: AudioServicesDisposeSystemSoundID(sample); */ AudioServicesDisposeSystemSoundID(soundID); CFRelease(sample); CFRunLoopStop(CFRunLoopGetCurrent()); } Regards, -- Olivier

Olivier Le Cam  Feb 26, 2009  Apr 01, 2009
Safari Books Online
Example 3-35

iPhone SDK Application Development, 1st Edition has formatting problems in Example 3-35. TableDemo view controller (TableDemoViewController.m) for example, in - (UITableViewCell *)tableView:(UITableView *)tableView cellForRow AtIndexPath:(NSIndexPath *)indexPath { cellForRowAtIndexPath should be all one word

Anonymous  Feb 04, 2009 
Page 18
Middle of page following 3rd paragraph

Published: "The C++ equivalent of this might look like the following: returnValue = myWidget->powerOn();" If myWidget is a record and PowerOn() is declared as a function of the record, but this is C not really C++. I would suggest perhaps given: public class wodget { public: wodget(){}; ~wodget(){}; int powerOn ( viod ) { // some code goes here } }; You might use: returnValue = myWidget.powerOn(); I know it is more lines of print, but perhaps more clear, especially to the non-C++ C programmers out there. Just a suggestion.

Note from the Author or Editor:
Good suggestion, but pls rename wodget to widget on reprint.

Clark Williams  Feb 03, 2009