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 B6.0, released 11 days 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
Ch. 2
#36116: All of the projects in Chapter 2 use the View-Based Application template which creates (Hello, Button, Starter)AppDelegate.h and .m, main.m, M...more...
B6.0
25-Nov-08
all
#35358: Although the overall book is great, i think explaining the "limitations" of both iPhone and its SDK (storage limits, memory limits etc.) befor...more...
B3.0
19-Oct-08
all
#35113: in addition to #35040, since I'm bored tonight, a quick grep gives the following places where it's should be its and vice versa: Missing ap...more...
B3.0
11-Oct-08
none
#34885: The overall book is great, but I think there needs to be a short primer on Cocoa in general. Since I only know the very basics of Cocoa, I did...more...
B2.0
05-Oct-08
all
#34953: While it's great to have ANY book on the SDK at this time, may I suggest that you give your PDF a good spelling and grammar check even at this...more...
B2.0
07-Oct-08
ch 2

#35490: A bit about refactoring in one of the early chapters of the book would be nice.--Greg Robertson

B3.0
27-Oct-08
ch 3

#35491: Would be nice to have the swipe to delete function explained for tables.--Greg Robertson

B3.0
27-Oct-08
ch3
#35021: Your coverage of tables is, frankly, really weak. This is one of the key features of this platform and needs substantial focus. I would like t...more...
B2.0
08-Oct-08
all
#35040: Its and It's are misused throughout the text, although not consistently. Some samples: p19,p20(twice) "its" is used where "it's" is needed fo...more...
B2.0
09-Oct-08
#24
#34808: In the description, "In the list of actions click the ’+’ button and call the action buttonPushed: (make sure to keep the colon)." While in...more...
B2.0
04-Oct-08
0
#35499: this is a note for the v-bdiphone-v-01.mov... not sure if it effects the book or not... at timecode: 15:01 talks about Style being set to "...more...
B4.0
27-Oct-08
0
#35501: this is a note for the v-bdiphone-v-02.mov... not sure if it effects the book or not... at timecode: 18:51 a line of code (#import "Ingredient...more...
B4.0
28-Oct-08
1
#36163: I would love to see some exercises at the back of each chapter. It would make it palatable to CS professors (such as yours truly) considering...more...
B6.0
28-Nov-08
14

#35892: "reorganize to your hearts
content." should be "reorganize to your heart's
content."--Patrick Weigel

B4.0
14-Nov-08
14
#34887: Whoah.... What a mess. You start dropping terms like UIKit object and nib file, without ever explaining what they are. Luckily, I happen to kn...more...
B2.0
05-Oct-08
14
#35938: The text says that Xcode News [RSS] can be used to keep up to date with announcements about things like new sample code, but that section of t...more...
B5.0
16-Nov-08
15

#35330: You should explicitly tell us to turn on the text centering, otherwise the rotating behavior seems like a bug.--Stonewall Ballard

B3.0
18-Oct-08
16

#35895: third paragraph: "(completion, refactoring etc)." should be "(completion, refactoring, etc.)."--Patrick Weigel

B5.0
14-Nov-08
16

#36201: The "Build & Go" shortcut described in the 2nd-to-last paragraph is Command+Enter in Xcode 3.1, not Command-Option-Enter--Markus Prinz

B6.0
30-Nov-08
16

#35719: For Me the overview menu is by default. But the active target is not--Daniel

B4.0
08-Nov-08
18
#35155: missing commas Before we dive into the code <comma> Once you have selected a file in the list <comma> The two missing apostrophes mention...more...
B3.0
11-Oct-08
18
#35156: from the preceding page, it states: "Figure 1.7, on the following page shows" Since the words "Figure 1.7, on" was on page 17, I interprete...more...
B3.0
11-Oct-08
19
#34856: After clicking on "Download HelloiPhone/Hello/Classes/HelloViewController.m", the browser doesn't show the file contents properly, as though t...more...
B2.0
04-Oct-08
19

#34890: Second paragraph, second sentence. "its" should be "it's"--Jeff Cleary

B2.0
05-Oct-08
19
#35157: This page has figure 1.7, but the label and caption is missing for the figure. In addition, the screen shot should be annotated so that it is ...more...
B3.0
11-Oct-08
22

#36108: shouldAutorotateToInterfaceOrientation is not commented out now and contains one line of code already. Maybe the text should be more vague here.--Justin Lolofie

B6.0
24-Nov-08
23
#36140: Section 1.5 really glosses over the certificate and profiling process. I think you should cover it in detail. I am realizing now there are som...more...
B6.0
26-Nov-08
23
#35685: In the code samples (specifically I'm looking at the FilesystemExplorer one), in the "Build" section of the "Get Info" dialog box, The code si...more...
B4.0
07-Nov-08
24
#36139: The first paragraph suggest selecting the Active SDK Device - iPhone OS 2.0. But this may not be correct depending on which OS you have on you...more...
B6.0
26-Nov-08
25 25
#35137: It would be rather helpful, in chapter 2, to give an illustration summarizing what we are going to do before we do it. Show both controllers,...more...
B3.0
11-Oct-08
27 27
#35094: [Note: I really want this book to succeed, so take this and all my future suggestions in the constructive way in which they are intended.] T...more...
B3.0
11-Oct-08
28 30
#36008: In Chapter two section 2.1 Your First View Controller, some of the steps to create a move me button application are missing or wrong. first yo...more...
B5.0
20-Nov-08
33

#35457: Should explain or have discussion on 'nonatomic' and 'retain' and any other parameters passed in '@property'

Thanks Greg--Greg Robertson

B3.0
26-Oct-08
33

#35976: For now you
have just written the inter face—for now that’s all you need

Double 'for now' looks bad.--Elijah Epifanov

B5.0
19-Nov-08
34
#35741: Incredibly minor: The sidebar entitled "Target/Action Paradigm" should come after the code sample. As currently laid out, the @end tag from ...more...
B4.0
09-Nov-08
35
#36169: In the Target Action Paradigm sub-section, the description of the third method signature in the last sentance should read something to the eff...more...
B6.0
28-Nov-08
37
#34884: By using example, code doesn't work as expected. In ordre it works, i add in textFieldShouldReturn method of EditorViewController class : fi...more...
B2.0
05-Oct-08
40
#35960: While this shows an example of a modal view, the question I was left with was "Is this how I link all views from a button?" In other words- I...more...
B5.0
17-Nov-08
40
#35459: Second paragraph in 2.6 is not clear to me why I would do this. I would like a longer discussion about why I am doing the steps indicated. ...more...
B3.0
26-Oct-08
41
#34765: "Right between where we synthesized the teams instance variable and where the viewDidLoad method is..." In the code generated by the SDK (buil...more...
B1.0
03-Oct-08
44
#35077: In the first few sections of this chapter the term section was thrown around several times. I had already played around with UITableViews befo...more...
B3.0
10-Oct-08
44
#35375: decent book, I am more of a visual learner and I think you could have easily explained the table view schema in one diagram. In general more v...more...
B3.0
20-Oct-08
45
#35937: "Though you could set any object to serve as a table view’s data source, you’ll almost always have your UITableViewController play this roll."...more...
B5.0
16-Nov-08
45
#34766: "Our text view’s rows didn’t expand to fill the space provided..." This issue doesn't appear with the SDK Build 9M2517, so the section is no lo...more...
B1.0
03-Oct-08
46
#34846: "Right between where we synthesized the teams instance variable and where the viewDidLoad method is, add this initialization code:" This ...more...
B2.0
04-Oct-08
46
#34869: Yor write: Right between where we synthesized the teams instance variable and where the viewDidLoad method is, add this initialization code...more...
B2.0
05-Oct-08
47
#34876: The sample code block on this page, and its fuller implementation on the next page are poorly presented. " - (UITableViewCell *)tableView:...more...
B2.0
05-Oct-08
47

#35158: initWithCoder function indentation closing the if statement and return are tabbed in an extra tab. --Luke Tupper

B3.0
12-Oct-08
47/48
#34755: In the code listing at the bottom of the page which carries over to page 48, you have included the line to remove the item from the teams arra...more...
B1.0
03-Oct-08
47
#34780: actually the whole viewDidLoad method is commented so the enclosing /* and */ must also be deleted in addition to uncommenting the line inside...more...
B1.0
03-Oct-08
48
#34769: > [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES]; "YES" must be "UITableViewRowAnimationFade" ...more...
B1.0
03-Oct-08
49

#35338: Hey, I'd really like some more information about how to do a custom UITableViewCell. You don't cover that.

Thank you.--stephan.com

B3.0
19-Oct-08
49
#34840: The last paragraph says "...in RootViewController. The default implemtentation returns YES...". This is not true. Here is the default impleme...more...
B2.0
04-Oct-08
49

#34845: I don't think "niggly" is a real word, is it? (line 3)--Russell Nemhauser

B2.0
04-Oct-08
49

#34878: implemtentation should be 'implementation'--Glenn Rempe

B2.0
05-Oct-08
49
#35242: Using what I think is the latest version of the iPhone SDK, the method cellForRowAtIndexPath is already defined using a CellIdentifier. The c...more...
B3.0
14-Oct-08
49
#36075: Why override the initializer when Apple has provided us with: - (void)awakeFromNib which is called on every object as it is reconstructe...more...
B6.0
23-Nov-08
49
#35324: I just downloaded the latest version of the SDK (I think), and in the code fragment, *MyIdentifier is actually *CellIdentifier in the pre-gene...more...
B3.0
18-Oct-08
49
#35325: I just downloaded the latest version of the SDK (I think), and in the code fragment, *MyIdentifier is actually *CellIdentifier in the pre-gene...more...
B3.0
18-Oct-08
50
#34852: It would appear with SDK 2.1, the default for the table view in the Navigation template is to expand with the view, so these steps are no long...more...
B2.0
04-Oct-08
50

#35477: Section 3.8: Supporting rotation was unnecessary when I ran through it as the table seemed already set-up to support proper rotation.--Vincent J. Vazzo

B3.0
26-Oct-08
51

#34870: Re: #34812
Same here. Default is bound to all 4 edges. 3.1 + 2.1--Povl H. Pedersen

B2.0
05-Oct-08
51

#34879: verticle should be vertical--Glenn Rempe

B2.0
05-Oct-08
51
#34882: You state: "Save the nib and let’s Build & Go again. Now if we rotate the device it does what we want. Go ahead and rotate it a full 360 ...more...
B2.0
05-Oct-08
51

#34812: The version of Xcode I am using 3.1.1 with iPhone 2.1 has the tableview setup to auto-expand without the need to make these changes.--Mike Ratliff

B2.0
04-Oct-08
52
#34841: The viewDidLoad method in my project does not look like what is shown. Here is what I saw: /* - (void)viewDidLoad { [super viewDidLoad]...more...
B2.0
04-Oct-08
52
#35353: I think the defaults may have changed, but the table rows already resize by default. That is, my view never matched Figure 3.4 -- the rows wer...more...
B3.0
19-Oct-08
52
#34860: 3rd line in paragraph for section 3.9, "edit mode and then make the UITableViewdataSourcerableView:commitEditingStyle:forRowAtIndexPath:" shou...more...
B2.0
04-Oct-08
52
#34871: Default in XCode 3.1 / iPhone 2.1 is self.navigationItem.rightBarButtonItem = self.editButtonItem; Edit in the left is old style. Also, now...more...
B2.0
05-Oct-08
52
#34883: Personally I would not have added the '(surprise, surprise)' as it implies that everything that has preceded has been really easy. I would ...more...
B2.0
05-Oct-08
52
#35416: My Table View Size window differs from yours in 2 ways: 1) Under Frame, the width and height are the same values (320 and 460) but are greye...more...
B3.0
23-Oct-08
53

#35097: Xcode 3.1.1 generates viewDidLoad with the edit button on the right of the bar, not the left.
--John Daily

B3.0
11-Oct-08
53
#34849: [teams removeObjectAtIndex:indexPath.row] gives me a warning: "NSMutableArray" may not respond to "-removeObjectAtIndex:" (Messages without a ...more...
B2.0
04-Oct-08
53
#35966: Page 53/54: Didn't get the 'broken' TableView after the rotation even though I hadn't made the suggested changes in Interface Builder yet. The...more...
B5.0
18-Nov-08
53
#35479: In the viewDidLoad method in section 3.9, XCode generated the editButtonItem on the right side of the navigation bar: self.navigationItem.r...more...
B3.0
26-Oct-08
53
#34764: In the first full paragraph you tell the reader to set the File Owner's navigationitem to reference the UINavigationItem. You cannot do this u...more...
B1.0
03-Oct-08
54
#35417: Little confusing to have sample code on 53 and then same sample code on 54 with additional code inserted. Could be done at same time followed...more...
B3.0
23-Oct-08
54
#35230: In: if (editingStyle == UITableViewCellEditingStyleDelete) { [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] with...more...
B3.0
14-Oct-08
55

#35187: Section 3.10 looks to be missing the @synthesize for the addbuttonItem.--Paul Barrett

B3.0
13-Oct-08
56
#34842: In the second to last paragraph when creating the new view you need to make sure Cocoa Touch is selected in the nav on the left of the Choose ...more...
B2.0
04-Oct-08
56

#35388: @synthesize addButtonItem; Is not listed as one of the things to perform before building.--Matthew Husby

B3.0
21-Oct-08
56

#35431: - (void)addButtonWasPressed;
should be - (IBAction)addButtonWasPressed; It should use the Target/Action paradigm that was mentioned on page 33--Moski

B3.0
24-Oct-08
56

#34960: Last line of page - "palatte" should be "palette"--Todd Breiholz

B2.0
07-Oct-08
56

#35026: Second paragraph of 3.11 should be .xib instead of .nib (two times here). This isn't the only occurance in the book, just as an example here.
--Heinrich Schnermann

B2.0
08-Oct-08
56
#36076: Apple’s documentation in the TableView Programming Guide removes the data from the array before deleting the row. Done this way, there is no n...more...
B6.0
23-Nov-08
57
#36072: Bottom of this page, continued to page 58: You alloc an object (UIBarButtonItem), you have to clean it up. This is a memory leak. Please ...more...
B6.0
23-Nov-08
58
#35112: In chapter 3 we do some pretty cool but complex stuff. We learn how to add and remove items form a table view. Now, near the end we create ...more...
B3.0
11-Oct-08
58
#34862: In Xcode select File->New File... (or Command - N ). When propmted choose a UIViewController subclass that we’re going to call AddTeamViewCo...more...
B2.0
05-Oct-08
58

#34863: Include the code for dealloc method, as well as the synthesize (boring, but helpful). Do the same thing on page 61 too (include the code).--Damian Haslam

B2.0
05-Oct-08
58
#34947: The first full paragraph, which attempts to set up the navigationItem, doesn't work at all. Perhaps the instructions are unclear and I messed ...more...
B2.0
06-Oct-08
58

#35054: Exchange first and last paragraphs then the AddTeamViewControler nib file will work.--Ronald H Bingham

B3.0
09-Oct-08
58
#34814: The action of adding navigation item is not correct, your description: -- Our AddTeamViewController views needs a title and a button to get ...more...
B2.0
04-Oct-08
59
#35166: On page 59, we’re told to drag a Navigation Item into the Inspector and then connect it to the File’s Owner’s navigationItem outlet. However, ...more...
B3.0
12-Oct-08
59
#35179: AddTeamViewController.xib Connecting the File's Owner to the Navigation Item doesn't work. You either need to move this to section 3.12 ...more...
B3.0
13-Oct-08
59
#35956: Section 3.11 onwards describes how to create a .xib file from scratch, and later hook it up to a controller class. I wasn't able to follow ...more...
B5.0
17-Nov-08
59
#35480: IB will not let me connect File's Owner to the Navigation Item until after I set up the ViewController class and assign File's Owner to be of ...more...
B3.0
26-Oct-08
59
#35057: "Control click the File’s Owner to the “Navigation Item” and assign it to the File’s Owner’s navigationItem outlet." ==> I don't think this ...more...
B3.0
09-Oct-08
60

#34864: Make Figure 3.13 description be "Figure 3.13: Confirming outlets are set correctly (Right Click on File's Owner)"--Damian Haslam

B2.0
05-Oct-08
60
#35190: It would be helpful if common mistakes that people run into might be mentioned at each step and the solution provided. I, for one, missed a...more...
B3.0
13-Oct-08
60

#35464: 'a application' should be 'an application'--Greg Robertson

B3.0
26-Oct-08
60
#35521: re: Simplest technical fix for "Can't connect File's Owner to Navigation Item" problem. Two parts to this fix: (1) remove one sentence in s...more...
B4.0
29-Oct-08
60
#35542: The reader is asked to link up the Navigation Item to the File's Owner's navigationItem outlet. This outlet isn't available at this stage as t...more...
B4.0
30-Oct-08
60
#35572: The first complete paragraph of text says... "Our AddTeamViewController views needs a title and a button to get back to the list of teams. ...more...
B4.0
01-Nov-08
61

#34836: needed an #import "AddteamViewController.h" in RootViewController.m

B2.0
04-Oct-08
61

#36156: "Text Traits" should actually be "Text Input Traits"--Tim Trautmann

B6.0
28-Nov-08
61
#35911: In the paragraph beginning 'Our AddTeamViewController...' you can not 'Control click the File's Owner to the "Navigation Item"...' until you h...more...
B5.0
15-Nov-08
61
#36205: I found this confusing "Control click the File’s Owner to the “Navigation Item” and assign it to the File’s Owner’s navigationItem outlet." I ...more...
B6.0
30-Nov-08
61
#36086: The errors people are focusing on here can be easily corrected if y'all add an extra step on page 61. Just say to set file's owner (for AddTea...more...
B6.0
23-Nov-08
61
#36087: Never mind my previous post. I read a bit farther and I think I see where you guys are going with this. You guys are missing some key steps ju...more...
B6.0
23-Nov-08
62

#34854: It might be helpful here to mention that setting the delegate and the return button for the keyboard can be done in IB.--Patrick Burleson

B2.0
04-Oct-08
62
#35573: In Figure 3.13, where does the AddTeamViewController File's Owner Received Action "addTeam" come from? It is not mentioned anywhere prior to s...more...
B4.0
01-Nov-08
63
#35171: In the viewDidLoad method, you set the UITextField delegate and return key type on the text field programmatically when both can be set easily...more...
B3.0
12-Oct-08
63

#35462: Last paragraph unclear why I am doing the steps indicated. would prefer longer explanation or discussion.

Thanks

Greg--Greg Robertson

B3.0
26-Oct-08
63

#35025: "With the delcartion added" should probably read "With the declaration added" in the second-to-last paragraph.

B2.0
08-Oct-08
63
#35564: The use of "delegate" as an instance var is misleading. True delegates are not retained and their methods are described in a protocol and chec...more...
B4.0
01-Nov-08
64

#34980: I think this chapter could use a simulator screenshot of the add team view showing the text field and the navigator item. --Todd Breiholz

B2.0
07-Oct-08
64
#35319: The sample program doesn't work as printed. The following line: indexPath = [NSIndexPath indexPathForFow:[teams indexOfObject:teamName] ...more...
B2.0
17-Oct-08
64

#34810: "That was a bit of work but we’re done with _everyone_ we have to do to
add a new team to the list."

Should be 'everything' I suppose.--Nicky Peeters

B2.0
04-Oct-08
65
#35170: In the code sample, rather than calling the tableView method directly, why not use the tableView property instead? So, the code for notifying ...more...
B3.0
12-Oct-08
67

#35577: The new version of Mail.app has a different way of deleting messages - checkboxes and a global delete button.--Georg Tuparev

B4.0
02-Nov-08
68
#34866: If the title @property set in the code sample at the top of the page is defined as the rest of the properties discussed so far: @property (no...more...
B2.0
05-Oct-08
69
#34888: "Once saved, go set File’s Owner to be PlayersTableViewController." - being a beginner, I have no idea how to do that, so I imagine you're ask...more...
B2.0
05-Oct-08
69
#35273: In the second paragraph of 4.3 "The Back Button" theres a sentence that reads: "...you create a new instance of the appropriate view cont...more...
B3.0
15-Oct-08
70
#35164: the first line of page 70 reads: "The main task of our navigation control is to maintain the stack of view controllers." I believe it ...more...
B3.0
12-Oct-08
70
#35193: "We want a table view in this case, so delete the view and replace it with a UITableView." It would be helpful to be more explicit about ho...more...
B3.0
13-Oct-08
70
#35196: Would be helpful to note to readers that if one does not see the "view" outlet after assigning the File's Owner to be PlayersTableViewControll...more...
B3.0
13-Oct-08
70
#35547: The code example for setting a nav item's title seems to have a memory leak. Setting self.title should retain the NSString, which if created u...more...
B4.0
30-Oct-08
71

#34847: Before starting in with Section 4.7 you also need to add:
#import "PlayersTableViewController.h"
to the top of RootViewController.m--Kevin Runde

B2.0
04-Oct-08
71

#34855: Move figure 4.2 after the start of section 4.7. It seems out of place at the end of section 4.6.--Patrick Burleson

B2.0
04-Oct-08
71

#35176: Need to get rid of the creation of the PlayersTableViewController in code and move it to the nib file.--Bill Dudney

B3.0
12-Oct-08
71
#36212: pop it onto your navigation controller’s stack of view controllers using the navigation controller’s pushViewController:animated: method --...more...
B6.0
01-Dec-08
71
#36213: pop it onto your navigation controller’s stack of view controllers using the navigation controller’s pushViewController:animated: method --...more...
B6.0
01-Dec-08
72
#35197: "You could run this code now but your player’s table view will be empty because we haven’t implemented its UITableViewDataSource methods yet."...more...
B3.0
13-Oct-08
72
#35987: Third paragraph ends "Next we'll create the interface for this table view controller." This sentence should come after the following code as I...more...
B5.0
19-Nov-08
73
#36251: Section 4.6 Pushing View Controller onto the stack does not indicate to add an import statement to the RootViewController. Running the code af...more...
B6.0
02-Dec-08
74

#35110: MyIdentifier is a variable, not a class, so shoud be myIdentifier and not MyIdentifier (should start with lower case letter)--Povl H. Pedersen

B3.0
11-Oct-08
74
#35922: Section 4.7 seems out of place to me, wouldn't it be better to do handle it in chapter 3 along with the rest of the table view stuff? I feel ...more...
B5.0
16-Nov-08
75
#35586: Don't mean to be so nit picky here but ... UITableViewCell *cell; cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier]; ...more...
B4.0
02-Nov-08
76
#34898: "Control-click the Navigation Item. Notice the three button related outlets: backButtonItem, leftButtonItem and rightButtonItem." at the botto...more...
B2.0
05-Oct-08
76

#36070: Top of the page, middle of first paragraph: implmentation (missing an 'e')--Lee Hericks

B6.0
23-Nov-08
77
#35843: My iPhone is on O2 in Ireland, and we don't have Visual Voicemail here, so the example quoted in the foonote doesn't work for me. Hitting the ...more...
B4.0
12-Nov-08
77
#35425: Somewhere in the description it would be useful to mention that the new Bar Button Item should be control clicked and connected to the File's ...more...
B3.0
23-Oct-08
78
#34851: The end of the second paragraph of the Using a ready-made button section says "... list of basketball teams in the (as yet) unwritten sec.dele...more...<