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

Key value coding (KVC)


The Core Data uses KVC to store and retrieve data from its managed objects. NSManagedObject supports the key value methods valueForKey: and setValue:forKey: for setting and retrieving attribute values from the managed object respectively.

Key value methods

The two key value methods that are widely used for setting and retrieving values of the attributes of the managed object are explained in the following sections.

The -valueForKey: method

The method -valueForKey: is a generic accessor to retrieve the specified attribute value from a managed object.

For example, let's say we have a managed object (Customer) and it has an attribute called name; we can obtain the value of the name attribute with the following:

NSString *custName = [managedObject valueForKey:@"name" ];

The value of the attribute name is retrieved from the managed object and is assigned to the NSString instance custName.

Similarly, the code used in the cellForRowAtIndexPath method in the RootViewController...