Book Image

Core Data iOS Essentials

Book Image

Core Data iOS Essentials

Overview of this book

Core Data is the essential ingredient in data driven iOS apps. It's used for storing, retrieving, and manipulating application data in databases, XML, and binary formats. It's an essential component for iPhone, iPod Touch, and iPad apps.Core Data Essentials provides a clear, readable guide to the most useful aspects of Core Data. Built around a realistic example app, the book showcases the most important aspects of Core Data development in the context of a complete, functioning app written in Objective C.The book starts with a tour of how the app works. Then you'll see how to easily display data using the Table View. You'll learn how to develop an appropriate data model that fits the needs of your app, then implement that model as updatable data objects. You'll see how to update data and build relationships between objects and learn how Core Data can work with search, and how to provide your users with friendly data editing features.
Table of Contents (19 chapters)
Core Data iOS Essentials
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Appendix

Using KVO to know what has been updated


Key Value Observing (KVO) is the sister API to KVC and is used to inform us if a particular attribute of an object is changed. Consequently, we can take necessary action on getting notification of the change(s) that took place on any attribute of the object. To get the notification, we have to register our controller class (referred to as self) as an observer of the object for the keypath, where keypath is the name of the attribute of the object that we want to observe.

To register the observer, we use -addObserver:forKeyPath:options:context: method and to remove the observers, we use -removeObserver: forKeyPath: method.

Let us have a look at the syntax of the method that registers an observer:

[object addObserver:self
forKeyPath:@"attribute"
options:0
context:NULL];

Here, object is the name of object whose keypath (attribute) we want to observe. In order to observe the name attribute of the cust object (of the Customer class), we may add an observer...