I went through this video tutorial on Apple Developer’s site. It is fairly basic, but it shows how one can get powerful functionality with very little code(Core Data, for those who don’t know it, “allows any sort of data organized by the relational entity-attribute model, to be serialized into XML, binary, or SQLite stores. The data can be manipulated using a higher level set of objects representing entities and their relationships.”–Wikipedia ).
Another way to think about this is the incredibly popular Model-View-Controller design pattern. You specify the model graphically in Xcode, set up the view using Interface Builder, instantiate controllers in Interface Builder and bind the views to the controllers you just instantiated. Of course, in a non-trivial application that handles a lot of data, you will want to programmatically process some data–I think the easiest way to think about this programmatic control is through Apple’s NSPersistentDocument tutorial.
Last, but not least, an excellent way to gain deeper information about Core Data is to read Mr.Scott Stevenson’s “Core Data Class Overview” article. The format is excellent and the article is full of illustrations that literally help one understand the “big picture”.