We try to keep our books accurate, but sometimes mistakes creep in. This page lists the errors submitted by our astute readers. If you've found a new error, please submit it.

The latest version of the book is P2.0, released over 4 years ago. If you've bought a PDF of the book and would like to upgrade it to this version (for free), visit your home page.

Key: Typo Tech. Error Suggestion Not a problem Next edition

By default this page displays the errata for the latest version of the book. If you have a previous version, select it here:  

(To find out what version you have, look at the copyright page, a few pages in from the front of the book. If it says (say) 'Second Printing', then here it'll be P2.0. If there are interim PDF releases in that printing, they'll be 2.1, 2.2, and so on.)

PDF Paper Description Found in Fixed in
19
#39736: mobi version does not display some text correctly. For example the text on page 19 of the pdf, second sentence under the section titled "Creat...more...
B14.0
29-Jun-09
24
#39581: enjoying working with your book. found a small problem using the iphone in Unnamed Chapter page 24/28 4.94% into book or pdf book page 43 ...more...
B14.0
21-Jun-09
34

#42393: In the second sentence, "…review the directions in…"--Bruce Hobbs

P2.0
02-Mar-10
35
#43007: In the second last paragraph the instructions are confusing. You say, "When you release the mouse, as small HUD (What is a HUD, BTW) window wi...more...
P2.0
28-Apr-10
38

#44674: After the second paragraph shouldn't the index value in the code example be 2 rather than 3?--Bruce Hobbs

P2.0
21-Aug-10
47
#41989: The screenshot on page 47 shows the placeholder text as "Type your name", however, on page 45, the placeholder text is "Name", as is the examp...more...
P1.0
03-Jan-10
50
#42395: Last sentence of the penultimate paragraph: "…load the application from a nib file." Don't you mean obtain obtain the values for the third and...more...
P2.0
02-Mar-10
52
#38815: in the .mobi version of this file (approximately location 620 on a Kindle), the 2nd graphic on PDF page 52 is 90% blank, with the real graphic...more...
B11.0
09-Apr-09
54
#39197: This is an erratum for the formatting of the PDF, not the text of the book: The first page of this and every chapter is missing the "Report e...more...
B13.0
15-May-09
55

#44685: First sentence of fourth paragraph: "It doesn't update the hello label or clear the name field, because…."--Bruce Hobbs

P2.0
23-Aug-10
55

#42396: First paragraph, first sentence: Shouldn't "…copy and pasting…" actually be "…copying and pasting…?"--Bruce Hobbs

P2.0
02-Mar-10
67
#42360: Line [formatter setNumberStyle:NSNumberFormatterCurrenctyStyle]; results in an empty string return from numberFromString (self.movie.boxOffi...more...
P2.0
22-Feb-10
68

#44720: Did I miss the explanation for the use of "copy" in the @property declarations in Movie.h?--Bruce Hobbs

P2.0
26-Aug-10
68

#42720: Text says "Change the Class field to MovieEditorViewController..." however the graphic shows MovieViewController--David Swearingen

P2.0
08-Apr-10
69
#41990: In this example, we are linking the view in a xib file that we created ourselves for the first time. The oh-so-important line of text that te...more...
P1.0
03-Jan-10
69
#44721: Shouldn't the fifth sentence of the first paragraph begin, "Assigning to self what…?" Would also seem helpful to include at least some explana...more...
P2.0
26-Aug-10
70
#41992: I suggest clarifying at the bottom of the page that the *title* text field should be configured to capitalize words. The box office gross is ...more...
P1.0
03-Jan-10
73
#42433: The sentence states, "The interest-ing thing here is why choose viewDidLoad." This sentence reads wierdly and jarred me out of iPhone-land. Pe...more...
P2.0
08-Mar-10
73

#42735: I could not find a mention of the need to include
#import "MovieEditorViewController.h"
in MovieViewController.m. --David Swearingen

P2.0
08-Apr-10
73

#42736: MovieViewController.m MUST have the following line however I cannot find a mention of this anywhere:
@synthesize editingViewController;--David Swearingen

P2.0
08-Apr-10
74

#43004: In the last paragraph, the word "choose" seems like it should have been "chose."

P2.0
28-Apr-10
75
#42063: Section 4.6, first sentence, reads: "Let’s now create a second view controller that we will use to manage the modal view." I think that shoul...more...
P1.0
11-Jan-10
79
#42260: Section 4.7 first screen shot from IB shows the incorrect class for the file's owner of the MovieEditorViewController. It shows Class set to M...more...
P2.0
07-Feb-10
82
#42488: UITableViewCellStyleValue1 and 2 descriptions say they are intended only for use in group-style tables. Why is that? They seem to work ok in...more...
Chris Adamson says: From Apple's iOS Human Interface Guidelines: "Although you can use the value 1 table-cell style in either a plain or a grouped table, its appearance is better suited to a grouped table. For example, the Usage screen in Settings uses the value 1 style in grouped tables:" "Although you can use the value 2 table-cell style in either a plain or a grouped table, it looks much better in a grouped table. For example, the Info screen in Contacts uses the value 2 table-cell style in grouped tables:" They work, but they're inappropriate - we're just passing along Apple's guidance here.
P1.0
22-Mar-10
83
#42300: I find the heading "4.8 Making the MovieEditorViewController" confusing since a previous section described the creation of that class and .xib...more...
P2.0
12-Feb-10
83

#42305: "This last step is optional." it is never said what is the last step, I figure that it is selecting the checkbox on clear when editing begins

P2.0
13-Feb-10
84

#42306: you forgot to mention to
#import "MovieEditorViewController.h"

otherwise xcode fails with strange errors around
self.editingViewController

P2.0
13-Feb-10
84
#47726: - (IBAction)edit { self.editingViewController.movie = self.movie; [self presentModalViewController:self.editingViewController animated:YES]; ...more...
P2.0
10-Oct-11
86
#41859: There is a bug in the source code for chapter 5 Bug: Memory Leak File: <base>/TableViews/MovieTabler02/Classes/RootViewController.m Line: ...more...
P1.0
17-Dec-09
86
#41942: First, in the last paragraph, "You might recall from Section 5.2 ... that in MainView.xib ...". There is no MainView.xib--this should be MainW...more...
P1.0
29-Dec-09
89
#42099: The book states "Add an instance variable MovieEditorViewController* movieEditor;" The code has the asterisk prior to "movieEditor;" thusly...more...
P1.0
18-Jan-10
90
#45435: Noob question: In the last sentence on this page is there any particular reason to add the #import "Movie.h" to RootViewController.h rather th...more...
P2.0
26-Oct-10
91
#45436: Another noob question: Doesn't the moviesArray instance variable mentioned in the second sentence of the first paragraph also need to be relea...more...
P2.0
26-Oct-10
97

#45437: First paragraph, fifth sentence: Shouldn't that be "For the latter…"?--Bruce Hobbs

P2.0
26-Oct-10
97

#44779: First paragraph, third sentence: Shouldn't that be "…support the former…?"--Bruce Hobbs

P2.0
31-Aug-10
100
#45438: In the second sentence of the third paragraph you suggest adding the #import in the header file where previously you'd suggested using @class ...more...
P2.0
26-Oct-10
100

#45439: Fourth paragraph, third sentence: Previously you also had us set the Nib File attribute.--Bruce Hobbs

P2.0
26-Oct-10
107
#42304: In the section "Loading and Using a Custom Table Cell", 3rd line: the phrase "...we try to fail to dequeue..." is confusing. Did you mean jus...more...
P2.0
13-Feb-10
107
#45442: In third paragraph, after describing creation of @property for IBOutlet nibLoadedCell you might want to remind people, as you've done several ...more...
P2.0
26-Oct-10
108
#42294: The example code has an 'initWIthFrame:CGRectZero', which according to page 84, has been depricated for iPhone SDK 3.0. It should read 'initWi...more...
Chris Adamson says: The current version of the book covers iPhone OS 3.0, but we chose to make sure that our code would compile and run on 2.0 as well, so we used 2.0 conventions where necessary, such as -[UITableViewCell initWithFrame:reuseIdentifier:] rather than 3.0's -[UITableViewCell initWithStyle:reuseIdentifier].
P2.0
11-Feb-10
111

#45443: Fourth paragraph, third sentence: any reason not to add [self handleSortChanged] rather than duplicate its two lines?--Bruce Hobbs

P2.0
26-Oct-10
112

#43909: Should sortMoviesArray also call [sortDescriptors release] before it's done?--Michael Bass

P2.0
29-Jun-10
112
#45452: In the sortMoviesArray method is there some reason not to alloc when declaring sorter instead of repeating the alloc in each of the three case...more...
P2.0
27-Oct-10
118
#42472: Both picture and the text on p. 118 show that Table View for RootViewController has a navigation bar, however that's not what I see in XCode 3...more...
Chris Adamson says: As with the last chapter (see p. 100 in p2.0), the simulated navigation bar is added by using the "simulated interface elements" in the attribute inspector (cmd-1) for the table. We'll make this explicit in the next edition.
P2.0
20-Mar-10
119

#42025: UITableViewCell method initWithFrame:reuseIdentifier: is deprecated in iPhone OS 3.0--Florian Maunier

Chris Adamson says: The current version of the book covers iPhone OS 3.0, but we chose to make sure that our code would compile and run on 2.0 as well, so we used 2.0 conventions where necessary, such as -[UITableViewCell initWithFrame:reuseIdentifier:] rather than 3.0's -[UITableViewCell initWithStyle:reuseIdentifier].
P1.0
09-Jan-10
120
#46427: the code sample for "StatesAppDelegate.m" in the download and in the book for "applicationDidFinishLaunching" is missing the last line "[self...more...
P2.0
21-Feb-11
122
#42263: In the last paragraph it says: <br> "Right-click the Classes group in Xcode, and choose Add > New File. Choose to make a subclass of UITable...more...
P2.0
07-Feb-10
125

#42473: numberOfSectionsInTableView: should also be implemented - it's shown in the source on the website but isn't mentioned in the book--Victor Kryukov

P2.0
20-Mar-10
130
#42264: Second paragraph ends with: "The delegate adds the view defined by the tabBarController onto the window. Here is the code: - (void)app...more...
P2.0
07-Feb-10
131
#42265: Page starts with: <<der of the data for the other states is created in the same way and added to the same data array but not shown.1 NS...more...
P2.0
07-Feb-10
131
#45461: Shouldn't there be something similar to the statement in the third paragraph regarding the @property for the states variable to handle the sta...more...
P2.0
29-Oct-10
132
#42368: I use the latest 3.1.3 iPhone SDK on the latest Snow Leopard version. There, the creation of a "UITableViewController" subclass has changed: ...more...
P2.0
24-Feb-10
132
#45460: First ByPopulationViewController.m code snippet: Shouldn't mention be made that reference to StatesAppDelegate class requires #import of its h...more...
P2.0
29-Oct-10
133
#45466: Since both the table view data source methods use the view controller's states getter isn't the app delegate's states array going to be sorted...more...
P2.0
30-Oct-10
134
#42069: I needed to explicitly connect the delegate and dataSource outlets on the TableView that is a child of the ByPopulationViewController for the ...more...
P1.0
12-Jan-10
142
#45470: Second bullet point between second and third paragraphs: Previously you've suggested using @class when we needed to refer to another class in ...more...
P2.0
30-Oct-10
145
#42607: The book names the wrong class to use as the File's Owner for the "FileContentsView.xib" nib file in the first paragraph beneath the code on p...more...
P1.0
02-Apr-10
156 147
#41872: In the loadFileContentsIntoTextView method the comment on line 6 reads // read and dump to NSTextView NSTextView is not available in Cocoa T...more...
P1.0
20-Dec-09
161
#45515: Last sentence (and related code snippet on the following page): Shouldn't the final argument be nil (which is the way it's coded in the initWi...more...
P2.0
04-Nov-10
171

#42445: 2nd paragraph:

"... and implement them in FlipSideViewController.h" should read "FlipSideViewController.m"--Stephen Watson

P1.0
13-Mar-10
175
#45701: Rather than have the default time zone stored both in the settings file and hard-coded in the app wouldn't it be more DRY to retrieve that val...more...
P2.0
21-Nov-10
179

#45578: First paragraph, end of fourth sentence: "…that you should have added earlier." Can't seem to find anything earlier suggesting that addition.--Bruce Hobbs

P2.0
12-Nov-10
180
#46721: When instructing to implement a new getter. End of the second paragraph reads: "... and implement them in Flip- sideViewController.h." Shou...more...
P2.0
02-Apr-11
190
#45699: Is there some reason why the code fragment on this page uses NSStrings for the preference specifier keys while the code fragment on page 175 u...more...
P2.0
21-Nov-10
191
#41842: In loadprefs function, userTimeZone is assigned return value of method 'stringForKey' which is not alloc, new and copy but is released after s...more...
P1.0
16-Dec-09
191
#41845: Your code for loading settings from the Settings.bundle is erroneous. The settings aren't created until you go to Home/Settings/Your App, so s...more...
P1.0
16-Dec-09
191
#45697: Is there some reason why conditional tests sometimes evaluate objects for equality/inequality to nil or NULL (as in the two codes samples on t...more...
P2.0
21-Nov-10
196

#41757: None of the SQL in the SQLite chapter shows up on the Kindle DX in .mobi format--Greg Cheong

P1.0
08-Dec-09
196
#45735: Last two sentences of first paragraph seem to assume that a new Xcode project has been created or that the downloadable code for this chapter ...more...
P2.0
23-Nov-10
198
#45781: The last sentence of the third paragraph concludes "…a label at the bottom that we'll use to confirm each add." This confirmation process is n...more...
P2.0
27-Nov-10
201
#45738: Penultimate sentence of final paragraph: Any particular reason why this constant name is upper-case? Previous code only used upper-case when i...more...
P2.0
24-Nov-10
202
#45736: There seems to be nothing in the text identifying the method which is supposed to contain the code fragments on this page and the next page. T...more...
P2.0
24-Nov-10
202
#45741: The code fragment doesn't use the setter for dbFilePath even though the first sentence of the last paragraph on the previous page specifies th...more...
P2.0
24-Nov-10
209
#45761: The last sentence of the second paragraph states that the following code fragment comes from the initWithNibName:bundle: method, but the actua...more...
P2.0
25-Nov-10
211

#45778: No other mention (other than the downloaded code itself) of priceFormatter shown in last line of code fragment.--Bruce Hobbs

P2.0
26-Nov-10
227
#42188: The error is with the errata reporting on the website. For example, what is on p227 of P1.0 of the printed book is showing up on errata as if ...more...
P1.0
26-Jan-10
228
#42373: I use the latest 3.1.3 iPhone SDK on the latest Snow Leopard version. For me, the generated "Track.h" doesn't have the lines that start with ...more...
P2.0
25-Feb-10
236
#42014: There seems to be a memory leak under the "NSFetchedResultsChangeInsert" clause in -(void)controller:didChangeObject:atIndexPath:forChangeType...more...
P1.0
05-Jan-10
238
#47093: It seems that due to Framework changes, the code for editing tracks in place doesn't work anymore. On iOS 4.3, I observe the following: - sel...more...
P2.0
21-May-11
303

#46362: In the last paragraph before the code, "MPVideoController" should be "MPMoviePlayerController".--Barry Simpson

P2.0
05-Feb-11
306

#42214: MPMoviePlayerController's MPMoviePlayerContentPreloadDidFinishNotification is deprecated in favor of the loadState property.--Florian Maunier

Chris Adamson says: The deprecation is in iPhone OS 3.2, and the book is written to cover 3.0. We can use the new property in future versions of the book covering iOS 4 or later.
P2.0
29-Jan-10
377

#42016: The example application "Draw" seems to be missing the code to actually draw the dots.--Michael Nygard

P1.0
06-Jan-10
459
#44648: The code download dated 2/3/10 contains an error in the code for the Distance Application in the Location directory. In particular the file...more...
P2.0
18-Aug-10
460

#42048: "its" should be "it's":

"if we have a valid location, and its within 20 meters then stop"--Anh Quang Do

P1.0
10-Jan-10
462

#42213: CLLocation's getDIstanceFrom: is deprecated in favor of CLLocation's distanceFromLocation: in iPhone OS 3.2--Florian Maunier

P2.0
29-Jan-10

Stuff To Be Considered in the Next Edition

PDF Paper Description Found in Fixed in
1
#38742: I just spent half my day messing around with scroll views before finding a video that happened to mention the property I needed to set (conten...more...
B11.0
05-Apr-09
113
#40471: ...set the titles of the segments to A-Z, Z-A, and $ (or whatever monetary symbol makes the most sense for your locale)... Might be nice to...more...
B15.0
17-Aug-09
159
#43199: I wonder whether using initWithBytesNoCopy might not work properly if the content of the stream has characters that have their representation ...more...
Chris Adamson says: Interesting point. We should revisit this in a future edition (too big a change for simple reprints)
P1.0
12-May-10
223
#38309: Would it be possible to get more information on working with images? It'd really be helpful to have more information on things like image zoom...more...
B11.0
11-Mar-09
229
#42256: This is a suggestion for the next edition: I was very disappointed on page 229 to read paragraph "Since the mechanics of navigation...". I u...more...
P2.0
04-Feb-10
492
#39567: As far as I can see, this chapter does not directly address the interpretation of crash logs. Because we may get crash logs from Apple, once ...more...
Chris Adamson says: Too big a task for this edition, but we'll keep it in mind for the next. Thanks.
B14.0
19-Jun-09