Hi All, Thanks to Jerry for the feedback.
What I thought was a framework question (why -init was being called instead of -initWithType:error: in my NSPersistentDocument subclass) turned out to instead be a tools question. I had placed a breakpoint in -initWithType:error: and execution did not halt there, so I asked why this method wasn't being called. Now, I believe the method was being called but the breakpoint was not halting execution. Why this happened remains a mystery because I tried many things in rapid succession until the breakpoints started working. When they started working, I saw that everything worked exactly as Jerry said it should: -init was being called in both cases (new document and loading an existing document). -initWithType:error: was being called for new documents. (And, yes, I am calling the super implementation in both.) Thanks for the help, Soong ----- Original Message ---- From: Jerry Krinock <je...@ieee.org> To: Cocoa Developers <cocoa-dev@lists.apple.com> Sent: Fri, November 20, 2009 11:07:18 PM Subject: Re: [SOLVED] CoreData/NSPersistentDocument initialization On 2009 Nov 20, at 12:04, Oftenwrong Soong wrote: > However, initWithType:error is never called for new document creation (or any > document creation for that matter). I placed a breakpoint inside the method > and execution does not pause there. Instead, -(id)init gets called. It's not 'instead'. It's both. When a new document is created, Cocoa invokes -initWithType:error:. When you override this method, you must invoke super. -[NSPersistentDocument initWithType:error:] will then invoke -init. Likewise if you override -init, invoke super. > This is a problem because -(id)init is called when documents are opened as > well as created from scratch. Actually it's rather handy for doing *some* initializations which you want done in both new and old documents. I say *some* because your persistence stack is not yet functioning at this point. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/oftenwrongsoong%40yahoo.com This email sent to oftenwrongso...@yahoo.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com