Fritz Anderson's Weblog

Observations and Emendations

The about-the-author page gave fritza-six@manoverboard.org as my email address, but it seems I never activated it. I've done so now, and I apologize to anyone who tried to reach me at that address before. 

Posted by:

I thought I had rid my examples of embedded functions, but one slipped by. As of Xcode 2.2, gcc prohibits the use of embedded functions — functions declared inside another function or method. Section 23.2, by my oversight, includes at page 380 a function, IsQuoted, embedded in the testQuotation method. 
 
Embedded functions are now prohibited because gcc implemented them by pushing the code onto the stack, and executing them there. Many security exploits work by executing code injected into the stack, and it is a prudent security measure to make the stack non-executable, even at the expense of embedded functions. 
 
In this case, you can just move the IsQuoted function outside the testQuotation method, and the file will compile cleanly. 
 
Thanks to Sabreur for finding the bug. 

Posted by:

I owe a debt to a reader I'll call Sabreur for submitting an extensive list of errata for Step into Xcode.  
 
I haven't reviewed all of them, but thought it important to get the list out now. The page loses most of the rich-text attributes the author supplied, making some of the notes a bit less clear; I regret that, and will try to make that up as soon as convenient. 
 
I'll log big errors separately. 

Posted by:

The earlier entries in this web log have been spammed with hundreds of trackbacks to sites that are, at least, annoying. The subset of the blojsom web-log server that Apple supplies with Mac OS X Server has no built-in way to remove offending comments or trackbacks. 
 
I'm searching for a solution, and I'll apply it as soon as I can. Sorry. 
 
Update: I've learned how to suppress trackbacks entirely, which does the trick. Apple's blojsom doesn't allow moderation of comments or trackbacks. 

Posted by:

In section 7.4 (pages 78-79), I have you set up an NSArrayController for the DataPoint array in the document's model object. NSArrayController needs to know the name of the class of the objects in its array (in this case, DataPoint).  
 
Section 7.4 does not tell you to set the Object Class Name, in the inspector (command-1), to DataPoint. You have to do this for archiving and dearchiving the array in a document to work properly. The sample code accompanying Chapter 7 (and later) does set the class name. 
 
Thanks to Bruce Truax for diagnosing the problem and identifying the fix. 

Posted by:

Login Information
Username:
Password: