Core Data spares the developer the need to write the basic, repetitive data modeling code for an application, while bindings reduce or even eliminate the need to write code to connect the data model to the user interface. It’s one of the ways that Cocoa makes it possible to develop powerful applications quickly on OS X.
This chapter explains how bindings work, although they’re still a somewhat opaque topic for me. I’ve had trouble getting more advanced situations to work as I want, and this chapter didn’t cover bindings in enough detail to improve my understanding. It doesn’t seem like anyone has yet written a book on Cocoa bindings, so I’m not sure where to head to learn more than what I’ve been able to figure out from Apple’s developer documentation.
This chapter was mostly for reading, although it does have you add a search field, connected by bindings to the Recipes array controller. I spent some time goofing around with the bindings, trying to give it the capability of searching the ingredient list, but couldn’t get it to work.
Since I had downloaded the files from the book’s web site, I took a look at its bindings, and noticed that it only had one binding, for searching the Recipe name key. My version will search the description and type fields as well, which was simply a matter of adding another predicate for each type of search. In my case, they were name, description, type and recipe ingredient name.