views:

731

answers:

4

I'm looking for a comprehensive book on CoreData. I'm rather frustrated with the many Apple documents that do not seem to be assembled into a single reference work or even at a single place, it is too easy to miss (or find) a key document. I have the Zarra book "Core Data"but it is rather lightweight.

Here are the docs I have found, I have no idea if there are more and therein lies a problem:

CoreData.pdf
CoreDataSnippets.pdf
CoreDataUtilityTutorial.pdf
CoreDataVersioning.pdf
NSEntityDescription_Class.pdf
NSFetchedResultsController_Class.pdf
NSFetchedResultsControllerDelegate_Protocol.pdf
NSFetchRequest_Class.pdf
NSManagedObjectContext_Class.pdf
NSManagedObjectModel_Class.pdf
NSPersistentStoreCoordinator_Class.pdf
NSSortDescriptor_Class.pdf

+3  A: 

I have the Zarra book, and I've really enjoyed it.

Some other resources I've found useful are:

However, your original question stands (a single Core Data book), and I know of no such book. I believe Zarra's book is the closest you'll get to a physical book without printing out Apple's programming guides. :)

Dave DeLong
Part of the problem with Apple's programming guides is finding them all. How am I supposed to be sure I found "NSEntityDescription_Class" for example. Also they are not indexed between the many documents. Apple could help a lot if it brought all the CoreData documents together. That is what I want a CoreData book for.Sure, the Zarra book has lots of good information but it is missing much more including basics such as deleting a MO.
zaph
@Zaph true, but I think it would be safe to assume that anyone learning Core Data would be spending a considerable amount of time in the documentation (not the guides) and would notice something like `-[NSManagedObjectContext deleteObject:]`
Dave DeLong
Also keep in mind that Marcus was writing the book primarily with the Mac in mind, where Cocoa bindings take care of many things for you. Frankly, I consider Core Data to be the best documented Cocoa framework, and I only looked to Marcus' book for practical advice on implementation. I had no problem finding the appropriate information in Xcode, starting from the Core Data Programming Guide.
Brad Larson
+4  A: 

I agree about the frustration with Apple's developer documentation. They've gone in big time for the "search is organization" idea to the extent that the developer docs don't appear to have any logical organization at all and are just in a big pile. Finding documentation feels more like rooting through a dusty used book store than a professional reference. Clearly a case of geeks falling in love with their tech and not thinking things through.

However, in the specific case of core data, I found that in hindsight a big part of my frustration in learning it had to do with my pre-existing concept that it was a big and complicated subject. I kept assuming I was missing something because what I knew looked too simple. In reality, its a fairly simple system that can be adapted to model complex data. Don't over think it.

There is an upcoming book, Core Data for iPhone: Building Data-Driven Applications for the iPhone and iPod Touch By: Tim Isted, that is available in rough form now. Not sure how good it is.

TechZen
+1  A: 

When learning from Apple documentation the place to start of is always the <Topic> Programming Guide. If you look down the index of Core Data Programming Guide for instance you'll see that it references all but one the documents in your list.

Usually the Programming Guides are pretty good at explaining strong points as well as limitations of a particular technology/framework. They mostly follow the same pattern and the first couple of pages usually answer if the framework can help you solve your application problem.

monowerker
+1  A: 

I'm just now working through the book More iPhone 3 Development: Tackling iPhone SDK 3 (it just came out in Jan 2010). While it is not only about Core Data, the first 7 chapters (out of 16) deal exclusively with learning Core Data and building some generic, reusable classes for building Core Data-driven edit forms easily. I'm still pretty new to iPhone development in general, but for me the book has been very helpful.

bmoeskau
I too find More iPhone 3 Development: Tackling iPhone SDK 3 to be a very good source of CoreData on the iPhone.
zaph