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 about 3 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.
| PDF |
Paper |
Description |
Found in |
Fixed in |
|
9 |
#45524: In section 2.4 ("Creating Our Xcode Project"), it specifies checking the "Use Core Data" box in Xcode, but it does not specify whether or not to select "Create Document Based Application".
Based on the instructions in Section 2.8 (on page 24), it appears that the author used the Document Based Application template (hence, the existence of the "Save As..." menu option that is repurposed as "Add Recipe image..."). However, the document based application template creates different base classes/xib files, so it is not at all clear how this project should be set up in the current version of Xcode (3.24). Clarification would be helpful. --Tobias Zimmerman #45524: In section 2.4 ("Creating Our Xcode Project"), it specifies checking the "Use Core Data" box in Xcode, but it does not specify whether or not ...more...
|
P1.0
06-Nov-10
|
|
|
18 |
#46680: When setting up the RecipeIngredient Array Controller, it is not mentioned to check "Prepares Content." It may be somewhat implicit, but I took the directions at face value and ended up with an app that didn't appear to retain the ingredients for each recipe.--Dru Kepple #46680: When setting up the RecipeIngredient Array Controller, it is not mentioned to check "Prepares Content." It may be somewhat implicit, but I to ...more...
|
P1.0
25-Mar-11
|
|
|
18-22 |
#46681: I would suggest that, while building the UI, that the author interjects directions to go ahead and test the app, and what to expect when you run it. I find incremental changes, followed by testing, makes for a more confident learning experience. If I'm expected to build the data model, build the UI, and set up all of the bindings before seeing anything, I find myself getting pretty nervous by then end. If I've missed or screwed up a single step, the app doesn't work, and I have no real idea where to go to look for the error. Personally, I would love it if we broke up the creation of the model, etc, and did thing like "build the recipe, from model to UI" then go back and "build the ingredients, from model to UI" with milestones along the way that we (the readers) can test against. Then, if we've made a mistake, we have far less text to go back and review to find our error.--Dru Kepple #46681: I would suggest that, while building the UI, that the author interjects directions to go ahead and test the app, and what to expect when you r ...more...
|
P1.0
25-Mar-11
|
|
|
20 |
#43983: In the book version: 2009-09-22, P1.0, September 2009: Model key path should be "desc", instead of "description" when setting the value bindings on the Recipe NSArrayController. #43983: In the book version: 2009-09-22, P1.0, September 2009: Model key path should be "desc", instead of "description" when setting the value bindi ...more...
|
P1.0
05-Jul-10
|
|
|
25 |
#46682: In the second code listing on the page, defining addImageSheetDidEnd:..., there is this line:
NSString *destPath = [self applicationSupportFolder];
I get a warning saying that "applicationSupportFolder" may not exist on the opject. Running it anyways results in an error when we get to that line. I can't find anything in the docs about this, whether it was deprecated or how to find this value. A bit of Googling leads me to believe that this might be a method added to the class...but I don't seem to be able to find it.
For reference, I am using Xcode 4 and an edition of the book that was released in September 2009, so I admit perhaps I'm just behind the times in actually getting around to reading this... --Dru Kepple #46682: In the second code listing on the page, defining addImageSheetDidEnd:..., there is this line:
NSString *destPath = [self applicationSupport ...more...
|
P1.0
25-Mar-11
|
|
|
25 |
#46683: A follow up to #46682:
I found it. Xcode 4 must have some modified templates. There is a applicationFilesDirectory method defined in the app delegate. It returns an NSURL, so it would appear that this line is an Xcode 4 worthy replacement:
NSString *destPath = [[self applicationFilesDirectory] path];
While this is supplied by the template, it's worth noting that the code samples for the book provide that method pointing to a "Grokking_Recipes" folder in the "Application Support" directory, while this one pops that folder right into "Library."--Dru Kepple #46683: A follow up to #46682:
I found it. Xcode 4 must have some modified templates. There is a applicationFilesDirectory method defined in the ...more...
|
P1.0
25-Mar-11
|
|
| 30 |
|
#43805: For people who've had trouble displaying the image, make sure the connection is to the Image Well (NSImageView) rather than to the Image Cell (NSImageCell) object. This should be made clearer in the text as it seems several are having problems with it.--Deirdre Saoirse Moen #43805: For people who've had trouble displaying the image, make sure the connection is to the Image Well (NSImageView) rather than to the Image Cell ...more...
|
P1.0
13-Jun-10
|
|
| 32 |
|
#47470: beginSheetForDirectory:file:modalForWindow:... has been depreciated in Xcode 4.2.2. The code as written throws an error that says "implicit conversion of an Objective-C pointer to 'void *' is disallowed with ARC." ah, progress :)--paul adams #47470: beginSheetForDirectory:file:modalForWindow:... has been depreciated in Xcode 4.2.2. The code as written throws an error that says "implicit co ...more...
|
P2.0
29-Aug-11
|
|
| 35 |
|
#43913: apple doc 'core data programming guide: managed objects' expressly states that overriding the description method is discouraged as the results may be 'unpredictable' if the method fires a fault.
yet, in introductory material here (chapter 3, p35), that is exactly what is offered and further 'With this method, I can reuse it in every NSManagedObject subclass that I create rather than having to create a custom -description method for each subclass.'
its disheartening to think that i will have to check this book against apple's documentation. #43913: apple doc 'core data programming guide: managed objects' expressly states that overriding the description method is discouraged as the results ...more...
|
P2.0
29-Jun-10
|
|
|
41 |
#46684: The text describing how to set up the bindings for the search field reads thus:
"...we bind this NSSearchField to our recipe's NSArrayController using the controller key of filterPredicate and a model key path of name."
I couldn't get this to work until I looked at the XIB in the downloadable code. It would appear that setting a Model Key Path is not what you want to do; instead, you want to set the Predicate Format to "name contains $value". I can see how saying "using...a model key path of name" could be interpreted as "using a model key path of name IN THE PREDICATE FORMAT field." But that's far less obvious than explicitly stating what goes into what fields, for us newbies.--Dru Kepple #46684: The text describing how to set up the bindings for the search field reads thus:
"...we bind this NSSearchField to our recipe's NSArrayContr ...more...
|
P1.0
26-Mar-11
|
|
| 58 |
|
#43914: see above p35...
now, on page 58 apple's recommendations for not overriding are stated, and this doesn include not overriding the description method.
please use a different example for page 35. #43914: see above p35...
now, on page 58 apple's recommendations for not overriding are stated, and this doesn include not overriding the description ...more...
|
P2.0
29-Jun-10
|
|
| 66 |
|
#44582: Last line of text is hidden under blue banner saying "Prepared exclusively for...". Last visible text is "... and we can exit".--Mark Spano
|
P2.0
12-Aug-10
|
|
| 66 |
|
#47941: The very last line of this page is obscured in the PDF document.
In the .mobi, I can see that the last line says "and we can exit this cycle of the run loop"; however, the pdf ends with "and we can exit".
peering slightly above the blue border at the foot of the pdf page, the tops of the textual characters can be seen.--Mr Mike Abidakun #47941: The very last line of this page is obscured in the PDF document.
In the .mobi, I can see that the last line says "and we can exit this cycle ...more...
|
P2.0
12-Nov-11
|
|
| 66 |
|
#43880: The last line on this page is covered by the page footer. The last sentence is: "Once the loop is complete, the store has been prepopulated, and we can exit this cycle of the run loop." #43880: The last line on this page is covered by the page footer. The last sentence is: "Once the loop is complete, the store has been prepopulated, ...more...
|
P2.0
24-Jun-10
|
|
|
73 |
#41809: Once the versioning of the data model is started the call to pathForResource in managedObjectModel needs to be changed to load a resource of type @"momd"--David Huang #41809: Once the versioning of the data model is started the call to pathForResource in managedObjectModel needs to be changed to load a resource of t ...more...
|
P1.0
13-Dec-09
|
|
| 77 |
|
#43889: At the end of the second last paragraph: "defined as an Date." should be "defined as a Date."
|
P2.0
24-Jun-10
|
|
| 115 |
|
#40811: "The incompatibility between Spotlight and Core Data is going to be corrected in Snow Leopard"
Now that Snow Leopard is out - please explain how this is fixed.--Brian Bruinewoud #40811: "The incompatibility between Spotlight and Core Data is going to be corrected in Snow Leopard"
Now that Snow Leopard is out - please explain ...more...
|
B6.0
19-Sep-09
|
|
|
141 |
#42371: When discussing the sync settings for the Type entity you talk about the including the relationships on Type in the sync. My code (and the downloaded SyncServices code) does not have any relationships on Type (I assume to the associated recipes). Either you need to migrate from the type attribute on Recipe to a relationship to Type in v3 or correct the text to not refer to a recipe relationship on Type.--Tony Langdon #42371: When discussing the sync settings for the Type entity you talk about the including the relationships on Type in the sync. My code (and the dow ...more...
|
P1.0
24-Feb-10
|
|
| 216 |
|
#45915: "NSManagedObjetID" should probably be "NSManagedObjectID".
("To solve this issue, we retrieve the NSManagedObjetID from the referenced NSManagedObject")--Kiel Oleson #45915: "NSManagedObjetID" should probably be "NSManagedObjectID".
("To solve this issue, we retrieve the NSManagedObjetID from the referenced NSMa ...more...
|
P2.0
06-Dec-10
|
|
| 2004 |
wepVI |
#49005: My spouse and i were so creheful Chris could do his preliminary research because of the ideas he came across from your very own web page. It is now and again perplexing to just continually be giving for free information which some other people might have been trying to sell. We really do understand we now have the writer to thank for that. The explanations you made, the easy website menu, the friendships your site assist to create it's got all fantastic, and it is facilitating our son in addition to the family reckon that the issue is enjoyable, which is certainly incredibly serious. Thank you for everything!--LxPpgYlYvSscBdMaA #49005: My spouse and i were so creheful Chris could do his preliminary research because of the ideas he came across from your very own web page. It ...more...
|
P2.0
29-Mar-12
|
|