Errata
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 26 middle |
(In Xcode 3.2.x, you can even choose Build → Preprocess to confirm that this is true.) Note from the Author or Editor: |
Peter Olsen | Sep 30, 2011 | ||
Printed, PDF | Page 10 bottom half |
When talking about int *intPtr versus int* Ptr, and going into the syntax of multiple declarations, it would be good to explain the C syntax where Note from the Author or Editor: |
Peter Olsen | Sep 23, 2011 | |
Printed | Page 103 Figure 6.5 |
Most figures showing Xcode screenshots are much too small to read. Figure 6.5 on page 103 is just an example. Note from the Author or Editor: |
Klaus Werner Wirtz | Aug 19, 2011 | Aug 26, 2011 |
Page 783 second code snippet |
self.undoer should be self.undoManager. This is because the example at this point supposes that we are no longer using a "private" undo manager, self.undoer; instead, we have made the undoManager property writable, so that we can have our own undo manager and at the same time have the responder chain be able to find it. |
Matt Neuburg |
Jul 25, 2011 | Aug 26, 2011 | |
Page 747 first code block |
Would have been nice to include memory management: |
Matt Neuburg |
Jul 13, 2011 | Aug 26, 2011 | |
Page 744 first full code block |
In this line: |
Matt Neuburg |
Jul 11, 2011 | Aug 26, 2011 | |
Page 711 first code |
Really should include dealloc implementation as well. |
Matt Neuburg |
Jun 29, 2011 | Aug 26, 2011 | |
Page 681 warning |
The warning needs to be broader, since the same problem exists if the UIImagePickerController is presented in a modal view on iPhone and dismissed with animation. Until the animation is over, the UIImagePickerController's media player still exists and the chosen movie cannot be played elsewhere in the interface. The solution here is to use delayed performance. |
Matt Neuburg |
Jun 27, 2011 | Aug 26, 2011 | |
Page 663 last code block |
At start of last code block, need to say where the variable "item" comes from: |
Matt Neuburg |
Jun 25, 2011 | Aug 26, 2011 | |
Page 662 last code block |
Would be nice to add, however, that when calling UISaveVideoAtPathToSavedPhotosAlbum it really is nicer to supply a completion handler; that way, we don't dismiss until the saving is finished. |
Matt Neuburg |
Jun 25, 2011 | Aug 26, 2011 | |
Page 648 first paragraph of Audio Player section |
Need to be clearer that use of AVAudioPlayer requires that you link to AVFoundation.framework and import <AVFoundation/AVFoundation.h>. |
Matt Neuburg |
Jun 24, 2011 | Aug 26, 2011 | |
Page 650 bottom |
Need another bullet point specifying that the app must have a Playback audio session policy. |
Matt Neuburg |
Jun 24, 2011 | Aug 26, 2011 | |
Page 638 1st and 3rd listVariable para |
Instead of "your app delegate will", I really should have put "your app delegate will then" - the point being that if the user taps Close, not the action button, your app won't be notified at all. This is implicitly clear but "then" would make it more explicit in this context. |
Matt Neuburg |
Jun 23, 2011 | Aug 26, 2011 | |
Page 614 middle |
"if is smaller"; insert "it", or (better) delete "is" |
Matt Neuburg |
Jun 22, 2011 | Aug 26, 2011 | |
Page 581 last code block |
Forgot final closing curly brace. |
Matt Neuburg |
Jun 20, 2011 | Aug 26, 2011 | |
Page 576 1st paragraph of second section |
Be nice to suppress extra space after paragraph. |
Matt Neuburg |
Jun 19, 2011 | Aug 26, 2011 | |
Page 101 first section |
Might have been nice to add a TIP about Hide All Issues to get rid of those annoying issue bubbles that appear in the Editor after compiling with issues. |
Matt Neuburg |
Jun 17, 2011 | Aug 26, 2011 | |
Page 28 Next to last paragraph of first sectio |
Would have been nice to add mention of the #warning directive here. This is a good way to remind yourself of something that needs doing: if it is present, compiling will trigger the warning. |
Matt Neuburg |
Jun 17, 2011 | Aug 26, 2011 | |
Page 512 code at bottom |
This line should be cut: |
Matt Neuburg |
Jun 12, 2011 | Aug 26, 2011 | |
Page 459 code at bottom |
As earlier in this chapter, I think instead of comparing against UIDeviceOrientationLandscapeRight and UIDeviceOrientationPortrait, it would be clearer to compare against UIInterfaceOrientationLandscapeRight and UIInterfaceOrientationPortrait. |
Matt Neuburg |
Jun 08, 2011 | Aug 26, 2011 | |
Page 450 first code |
UIDeviceOrientationLandscapeRight should be UIInterfaceOrientationLandscapeRight; the device orientation and the interface orientation are the reverse of one another so it makes a difference. |
Matt Neuburg |
Jun 08, 2011 | Aug 26, 2011 | |
Page 446 first code |
v.bounds should be self.view.bounds (twice) |
Matt Neuburg |
Jun 08, 2011 | Aug 26, 2011 | |
Page 444 middle |
Thinking about this presentation in retrospect, I now think perhaps I should have said there were *four* ways to specify a UIViewController's view when the UIViewController is instantiated in a nib - since obviously, if this is your UIViewController subclass (as it surely will be), you can create the view in code in loadView, just as we did earlier in the chapter for a UIViewController instantiated in code. |
Matt Neuburg |
Jun 08, 2011 | Aug 26, 2011 | |
Page 393 second code snippet |
Name of first parameter to actionForLayer: should be layer, not "lay" (so that it agrees with the variable name two lines later). |
Matt Neuburg |
Jun 06, 2011 | Aug 26, 2011 | |
Other Digital Version | 462 NSValue section |
The word "by," or the word "through," should be removed from the following sentence, depending on the author's intention; since these convenience methods are made available via a category, "through" seems most appropriate: Note from the Author or Editor: |
Scott Gardner | Jun 01, 2011 | Aug 26, 2011 |
Other Digital Version | 439 Last paragraph |
The word "takes" should be removed from the sentence: Note from the Author or Editor: |
Scott Gardner | Jun 01, 2011 | Aug 26, 2011 |
Other Digital Version | 200 Last sentence |
Missing "to" after "have" in the following sentence: Note from the Author or Editor: |
Scott Gardner | May 31, 2011 | Aug 26, 2011 |
Other Digital Version | 104 Mid-page |
Missing "the" after "one of" in the following sentence: Note from the Author or Editor: |
Scott Gardner | May 30, 2011 | Aug 26, 2011 |
Page 364 2nd paragraph, below "setAnimationStartDate:, setAnimationDelay:" |
I think that the word "of" might be missing from the phrase "These are both ways postponing the start of the animation;", i.e. between "ways" and "postponing". Note from the Author or Editor: |
Kendall Lister | May 21, 2011 | Aug 26, 2011 | |
Page 504 Last sentence in the Last Paragraph |
in the line which says, "the runtime isn't going alter our setting afterward," did you mean to say, "going TO alter" ? Note from the Author or Editor: |
tambay | May 20, 2011 | Aug 26, 2011 | |
Page 86 code examples |
Unfortunately the code examples here are bogus, because the values passed back and forth by key-value coding must be objects, and an int is not an object. Thus, to be correct, I should have said: Note from the Author or Editor: |
Matt Neuburg |
May 17, 2011 | Aug 26, 2011 | |
Page 121 Figure 7.2 (top of page) |
Many/most of the Figures in the PDF ebook are either teeny or blurry (beyond legibility). Note from the Author or Editor: |
jchas | May 05, 2011 | Aug 26, 2011 | |
Other Digital Version | 160 2nd paragraph |
Chapter 6, The Navigator Pane, Symbols Navigator, paragraph 1, reads "two icons in the in the filter....". Note from the Author or Editor: |
tgblank | Apr 25, 2011 | Aug 26, 2011 |
Other Digital Version | 129 1st paragraph |
Chapter 5, Polymorphism, Paragraph 6, reads "typecasting doesn't convert magically convert anything...." Note from the Author or Editor: |
tgblank | Apr 25, 2011 | Aug 26, 2011 |
Page 15 3rd code block in Example 1-1 |
The else if example has unbalanced braces. As this is meant to be a quick reference this should be fixed/clarified. Note from the Author or Editor: |
John Charlesworth | Apr 22, 2011 | Aug 26, 2011 | |
Other Digital Version | 12.3 The Golden Rules of Memory Management |
In your Golden Rules you have omitted "new" and friends. From NSObject: Note from the Author or Editor: |
Nigel Perry | Mar 16, 2011 | May 15, 2011 |
Page 195 end of 2nd paragraph |
both 'copy' and 'mutableCopy' have "produces an immutable copy" in parentheses. Presumabley, mutableCopy produces a mutable copy Note from the Author or Editor: |
Anonymous | Dec 16, 2010 | May 15, 2011 |