Core Data iOS Essentials
By B.M. Harwani
()
About this ebook
B.M. Harwani
B.M.Harwani is founder and owner of Microchip Computer Education (MCE), based in Ajmer, India that provides computer education in all programming and web developing platforms. He graduated with a BE in computer engineering from the University of Pune, and also has a 'C' Level (master's diploma in computer technology) from DOEACC, Government Of India. Being involved in teaching field for over 15 years, he has developed the art of explaining even the most complicated topics in a straight forward and easily understandable fashion. He has written twelve books on various subjects that includes JSP, JSF, EJB, PHP, .Net, Joomla and jQuery.
Read more from B.M. Harwani
Blogging with WordPress 3 for Beginners Rating: 0 out of 5 stars0 ratingsBeginning Web Development for Smartphones: Developing Web Applications with PHP, MSQL, and jQTouch Rating: 0 out of 5 stars0 ratings
Related to Core Data iOS Essentials
Related ebooks
Dart By Example Rating: 0 out of 5 stars0 ratingsJavaScript for .NET Developers Rating: 0 out of 5 stars0 ratingsMEAN Web Development - Second Edition Rating: 0 out of 5 stars0 ratingsiOS 10 Programming for Beginners Rating: 5 out of 5 stars5/5Mastering Swift Rating: 0 out of 5 stars0 ratingsLearning SQLite for iOS Rating: 0 out of 5 stars0 ratingsSwift Essentials - Second Edition Rating: 0 out of 5 stars0 ratingsSwift in Depth Rating: 0 out of 5 stars0 ratingsiOS 15 Application Development for Beginners: Learn Swift Programming and Build iPhone Apps with SwiftUI and Xcode 13 Rating: 0 out of 5 stars0 ratingsGame Development with Swift Rating: 0 out of 5 stars0 ratingsLearn iOS Application Development: Take Your Mobile App Development Skills to the Next Level with Swift and Xcode (English Edition) Rating: 0 out of 5 stars0 ratingsMastering Swift 5 - Fifth Edition: Deep dive into the latest edition of the Swift programming language, 5th Edition Rating: 0 out of 5 stars0 ratingsProgramming with Swift 4.2: Building iOS Apps with Swift, #1 Rating: 0 out of 5 stars0 ratingsModern Web Development with Deno: Develop Modern JavaScript and TypeScript Code with Svelte, React, and GraphQL (English Edition) Rating: 0 out of 5 stars0 ratingsCoding Languages: Angular With Typescript, Machine Learning With Python And React Javascript Rating: 0 out of 5 stars0 ratingsFull Stack JavaScript A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsBackbone.js Patterns and Best Practices Rating: 0 out of 5 stars0 ratingsiOS Development with SwiftUI: Acquire the Knowledge and Skills to Create iOS Applications Using SwiftUI, Xcode 13, and UIKit Rating: 0 out of 5 stars0 ratingsSwift Essentials Rating: 0 out of 5 stars0 ratingsObject–Oriented Programming with Swift 2 Rating: 0 out of 5 stars0 ratingsYour First Week With Node.js Rating: 0 out of 5 stars0 ratingsPrinciples of Programming: Java Level 1 Rating: 0 out of 5 stars0 ratingsiOS 13 Programming for Beginners - Fourth Edition: Get started with building iOS apps with Swift 5 and Xcode 11, 4th Edition Rating: 0 out of 5 stars0 ratingsSwift 2 Design Patterns Rating: 0 out of 5 stars0 ratingsMastering Dart Rating: 0 out of 5 stars0 ratingsSwift For Dummies Rating: 0 out of 5 stars0 ratingsSwiftUI Essentials - iOS Edition: Learn to Develop iOS Apps Using SwiftUI, Swift 5 and Xcode 11 Rating: 0 out of 5 stars0 ratingsiOS 17 App Development Essentials: Developing iOS 17 Apps with Xcode 15, Swift, and SwiftUI Rating: 0 out of 5 stars0 ratingsApplication Development with Swift Rating: 0 out of 5 stars0 ratingsRust for C++ Programmers: Learn how to embed Rust in C/C++ with ease (English Edition) Rating: 0 out of 5 stars0 ratings
Information Technology For You
Health Informatics: Practical Guide Rating: 0 out of 5 stars0 ratingsCompTIA ITF+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam FC0-U61 Rating: 0 out of 5 stars0 ratingsCreating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5WordPress Plugin Development: Beginner's Guide Rating: 0 out of 5 stars0 ratingsThe Ultimate Guide to Landing a Network Engineering Job Rating: 0 out of 5 stars0 ratingsThe Basics of Hacking and Penetration Testing: Ethical Hacking and Penetration Testing Made Easy Rating: 4 out of 5 stars4/5AWS Certified Cloud Practitioner: Study Guide with Practice Questions and Labs Rating: 5 out of 5 stars5/5How to Write Effective Emails at Work Rating: 4 out of 5 stars4/5How To Use Chatgpt: Using Chatgpt To Make Money Online Has Never Been This Simple Rating: 0 out of 5 stars0 ratingsData Analytics for Beginners: Introduction to Data Analytics Rating: 4 out of 5 stars4/5Practical Ethical Hacking from Scratch Rating: 5 out of 5 stars5/5Computer Science: A Concise Introduction Rating: 4 out of 5 stars4/5The Certified Fintech Professional Rating: 5 out of 5 stars5/5An Ultimate Guide to Kali Linux for Beginners Rating: 3 out of 5 stars3/5Windows Registry Forensics: Advanced Digital Forensic Analysis of the Windows Registry Rating: 4 out of 5 stars4/5Inkscape Beginner’s Guide Rating: 5 out of 5 stars5/5The Programmer's Brain: What every programmer needs to know about cognition Rating: 5 out of 5 stars5/5Quantum Computing for Programmers and Investors: with full implementation of algorithms in C Rating: 5 out of 5 stars5/5DNS in Action Rating: 0 out of 5 stars0 ratingsHacking Essentials - The Beginner's Guide To Ethical Hacking And Penetration Testing Rating: 3 out of 5 stars3/5Cybersecurity for Beginners : Learn the Fundamentals of Cybersecurity in an Easy, Step-by-Step Guide: 1 Rating: 0 out of 5 stars0 ratingsCompTIA Network+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Exam N10-008 Rating: 0 out of 5 stars0 ratingsA Civic Technologist's Practice Guide Rating: 0 out of 5 stars0 ratingsSupercommunicator: Explaining the Complicated So Anyone Can Understand Rating: 3 out of 5 stars3/5Computer Organization and Design: The Hardware / Software Interface Rating: 4 out of 5 stars4/5ChatGPT: The Future of Intelligent Conversation Rating: 4 out of 5 stars4/5CompTIA A+ CertMike: Prepare. Practice. Pass the Test! Get Certified!: Core 1 Exam 220-1101 Rating: 0 out of 5 stars0 ratings
Reviews for Core Data iOS Essentials
0 ratings0 reviews
Book preview
Core Data iOS Essentials - B.M. Harwani
Table of Contents
Core Data iOS Essentials
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Overview
Prerequisite
A brief history
Enterprise Object Framework (EOF)
Core Data
Why use Xcode?
Source code
Shall we begin?
2. Understanding Core Data
Core Data
Core Data features
Data Model
Entities
Properties
Attributes
Relationships
Inverse relationship
Model View Controller (MVC)
Core Data API
Persistent Store
Persistent Store Coordinator
FetchRequest
FetchedResultsController
Overview of the application: Sales Record System for a Departmental Store
Entity Relationship Diagram
An application output sample
Entering Master Product Information
Modifying the Master Product
Deleting the Master Product
Entering customer information and order details
Deleting customer information
Searching for specific customers
Searching and modifying customer information
Entering Customer Sales Information
Automatic Master Product Update
Summary
3. Understanding Objective-C Protocol and Table View
Protocol
Implementing the Strategy pattern
Defining the protocol
Creating a delegate property
Declaring protocol methods
Creating a sample application using a protocol and a delegate
Adding the ViewController class for entering numerical values
Defining the protocol, outlets, and action methods in the SecondViewController.h header file
Defining the SecondViewController class and connecting controls
Invoking delegate methods from the SecondViewController.m implementation file
Declaring the delegate, outlet, and action methods in the demodelegateViewController.h header file
Defining the demodelegateViewController and connecting controls
Implementing the protocol methods in the demodelegateViewController.m file
Running the project
Introduction to Table View
Creating an application to display Table View cells
Declaring an array in the header file
Implementing UITableViewDataSource protocol methods
Adding names to the Table View
Adding the AddNameController View controller
Defining protocols, outlets, and action methods in the AddNameController.h header file
Defining the AddNameController class View and connecting controls
Invoking Delegate methods in the AddNameController.m implementation file
Invoking the AddNameController View and implementing the protocol methods
Placing and connecting the Bar Button Item control in the RootViewController
Summary
4. Designing a Data Model and Building Data Objects for Customers
Creating a new project
Designing the data model
Data Model Editor
Adding an entity
Adding an attribute property
Types of attributes
Fields applying constraints
Building data objects for the Customer entity
Understanding code of autogenerated files
Header file of Application Delegate
Implementation file of Application Delegate
applicationWillTerminate method
managedObjectContext method
managedObjectModel method
persistentStoreCoordinator method
applicationDocumentsDirectory method
Summary
5. Creating, Listing, and Deleting Names of Customers
Splitting the task into two modules
Creating a module to save and delete a customer's name
Using the ViewController class for adding the name of the customer
Defining protocol, outlets, and action methods in the header file
Defining the View of the AddNameController class and connecting controls
Invoking delegate methods from the implementation file
Declaring delegate and implementing methods for storing the name of the customers
Key value coding (KVC)
Key value methods
The -valueForKey: method
The -setValue:forKey: method
Keypath
Implementing the methods of the NSFetchedResultsControllerDelegate protocol
The controllerWillChangeContent method
The controllerDidChangeContent method
The controller:didChangeObject method
The controller:didChangeSection method
Running the project
Summary
6. Creating, Listing, Displaying, and Deleting Records of Customers
Understanding multiple managed object context
NSNotification
Applying the concept of multiple managed object context in our application
Enhancing our application to save, list, display, and delete customer information
Adding the ViewController class
Defining a View for entering the customer's information and connecting controls
Coding in the implementation file for accepting the customer's information and invoking delegate methods
Adding the View Controller class for displaying the customer's information
Defining the View and writing the code in the implementation file for displaying the customer's information
Implementing the methods in the RootViewController class for storing the customer's information
viewDidLoad method
cell AtIndexPath method
didSelectRowAtIndexPath method
addCustomer method
addcustomerController method
Viewing the project
Summary
7. Updating and Searching Records of Customers
Applying the update feature
Defining a protocol in the DisplayCustomerController class
Adding Edit button to enable modifications in the View of DisplayCustomerController class
Implementing the protocol's method for storing modified customer information
Using KVO to know what has been updated
Running the project
Applying search facility
Defining outlet of UISearchBar class in the header file of the RootViewController class
Placing the Search Bar control in the View of RootViewController and specifying its delegate
Implementing delegate method in the RootViewController class to apply searching
Understanding NSPredicate
Removing the keyboard after selecting a customer's name
Using Predicate Builder for creating a search criterion
Fetched properties
Fetch request templates
Building and accessing a fetch request without a variable
Building and accessing a fetch request with a variable
Summary
8. Entering, Saving, Listing, and Deleting the Records of the Products Sold to the Customers
Adding the product entity to the Data Model
Relationship
Types of relationships
One to one relationship
One to many relationship
Many to many relationship
Establishing a relationship between the Customer and the Product entities
Setting a relationship from the Customer entity to the Product entity
Delete rule
Setting a relationship from the Product entity to the Customer entity (inverse relationship)
Building the data object for the Customer and the Product entities
Understanding the role of the auto generated special methods of a relationship
Entering the information of the products sold to the customers
Creating a module to develop an interface to enter the product information
Adding a ViewController class for entering the information of the products sold to the customers
Defining the protocol, outlets, and action methods in the header file
Designing the View of the AddProductController class and connecting the controls
Invoking the delegate methods from the implementation file
Developing a module to create a menu for manipulating the product information
Adding a ViewController class to display the Product's menu to manipulate the product's information
Defining the outlets and action methods in the header file
Designing the View of a ProductInfoController class and connecting the controls
Coding in the implementation file to save, edit, and display the product's information
Creating a module to connect the Product's menu to the rest of the project
Defining the outlets and action methods in the header file
Adding a Toolbar control to the View of the DisplayCustomerController class
Coding in the implementation file to invoke the View of the ProductInfoController class
Running the project
Summary
9. Entering, Displaying, and Deleting the Stock
Adding the MasterProduct entity to the Data Model
Storing the image of the MasterProduct
Transformable data type
The Value Transformer Name: field
Creating a value transformer
Building the data object for the MasterProduct entity
Maintaining the MasterProduct information
Image Picker
Adding custom images to the Image Picker
Making an image appear within a given size
Module to develop interface to enter the information of the MasterProduct
Adding the ViewController class for entering information of the master products
Defining protocol, outlets, and action methods in the header file
Designing the View of the MasterProductController class and connecting controls
Invoking the delegate and ImagePicker methods from the implementation file
Module to create a menu for manipulating the MasterProduct information
Adding the View Controller class to display a menu for adding, editing, and displaying the MasterProducts
Defining the outlets and action methods in the header file
Designing the View of the MasterProductInfoController class and connecting controls
Coding in the implementation file to save, edit, and display the master product's information
Summary
10. Editing the Stock Information
Module to connect the MasterProduct's menu to the rest of the project
Defining outlets and action methods in the header file
Adding a Toolbar and a Bar Button Item in the RootViewController class
Coding in the implementation file to invoke the View of the MasterProductinfoController class
Making the Toolbar to appear at the bottom of the View
Running the application
Selecting the image of the master product
Deleting the master product
Module to modify the information of the master product
Adding the View Controller class to display the view to modify the selected master product
Defining the outlets and action methods in the header file
Designing the View of EditMasterProductController class
Coding in the implementation file to modify the master product's information
Importing the delegate and the View Controller class in the header file
Coding in the implementation file to invoke the View of the EditMasterProductController class
Summary
11. Displaying the Products for Sale and Updating the Stock
Displaying the products available for sale
Adding the SearchProductController class
Designing the view of SearchProductController
Coding in the SearchProductController class
Invoking the SearchProductController from the Product menu
Displaying name, price, and image of the selected product
Updating the stock
Running the project
Automatically updating the quantity of the product in the MasterProduct entity
Versioning
Creating a new Data Model version
Migrations
Implementing lightweight migration to our application
Summary
A. Appendix
Index
Core Data iOS Essentials
Core Data iOS Essentials
Copyright © 2011 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: April 2011
Production Reference: 1180411
Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK.
ISBN 978-1-849690-94-2
www.packtpub.com
Cover Image by Asher ( <a.wishkerman@mpic.de> )
Credits
Author
B.M. Harwani
Reviewers
Fred McCann
Muhammad Adil
Acquisition Editor
David Barnes
Development Editor
Chris Rodrigues
Technical Editor
Aditi Suvarna
Copy Editor
Laxmi Subramanian
Indexer
Monica Ajmera Mehta
Rekha Nair
Editorial Team Leader
Aditya Belpathak
Vinodhan Nair
Project Team Leader
Lata Basantani
Project Coordinator
Vishal Bodwani
Proofreader
Aaron Nash
Graphics
Geetanjali Sawant
Production Coordinator
Alwin Roy
Cover Work
Alwin Roy
About the Author
B.M. Harwani is the founder and owner of Microchip Computer Education (MCE), based in Ajmer, India that provides computer education in all programming and web developing platforms. He graduated with a B.E. in computer engineering from the University of Pune, and also has a 'C' Level (Master's diploma in computer technology) from DOEACC, Government Of India. Having been involved in the teaching field for over 16 years, he has developed the art of explaining even the most complicated topics in a straightforward and easily understandable fashion. He has written several books on various subjects that include JSP, JSF, EJB, PHP, .NET, Joomla, jQuery, and Smartphones. He also writes articles on a variety of computer subjects, which can be seen on a number of websites. To know more, visit his blog, http://bmharwani.com/blog.
The list of books written by B.M. Harwani are Programming & Problem Solving through C (BPB, 2004), Learn Tally in Just Three Weeks (Pragya, 2005), Data Structures and Algorithms through C (CBC, 2006), Master Unix Shell Programming (CBC, 2006), Business Systems (CBC, 2006), Practical Java Projects (Shroff, 2007), Practical Web Services (Shroff, 2007), Java for Professionals (Shroff, 2008), C++ for Beginners (Shroff, 2009), Practical ASP.NET 3.5 Projects (Shroff, 2009), Java Server Faces—A Practical Approach for Beginners (PHI Learning, 2009), Practical JSF Project using NetBeans (PHI Learning, 2009), Foundation Joomla (Friends of ED, 2009), Practical EJB Projects (Shroff, 2009), Data Structures and Algorithms in C++ (Dreamtech Press, 2010), Developing Web Applications in PHP and AJAX (Tata McGraw Hill, 2010), and jQuery Recipes (Apress, 2010).
Acknowledgement
I owe a debt of gratitude to David Barnes, the Senior Acquisition Editor at Packt Publishing for his initial acceptance and giving me an opportunity to create this work. I am highly grateful to the whole team at Packt Publishing for their constant cooperation and contribution to create this book.
My gratitude to Chris Rodrigues, who as a Development Editor offered a significant amount of feedback that helped to improve the chapters. He played a vital role in improving the structure and the quality of information.
I must thank Muhammad Adil, the Technical Reviewer for his excellent, detailed reviewing of the work and the many helpful comments and suggestions he made.
Special thanks to Aditi Suvarna, the Technical Editor for first class structural and language editing. I appreciate her efforts in enhancing the contents of the book and giving it a polished look.
I also thank Alwin Roy, the Production Coordinator for doing excellent formatting and making the book dramatically better.
A big and ongoing thanks to Vishal Bodwani, the Project Coordinator for doing a great job and sincere efforts by the whole team to get the book published on time.
A great big thank you to the editorial and production staff and the entire team at Packt, who worked tirelessly to produce this book. I really enjoyed working with each one of you.
I am also thankful to my family—my small world; Anushka (my wife) and my two little darlings, Chirag and Naman for allowing me to work on the book even during the time that I was supposed to spend with them.
I should not forget to thank my dear students who have been a good teacher for me as they make me understand what basic problems they do face in a subject and enable me to directly hit at those topics. It is because of the endless interesting queries of my students that help me in writing the books with a practical approach.
About the Reviewers
Fred McCann is a co-founder of Zumisoft, an independent Mac software company. He started writing code at the tender age of eight on a TI-99a home computer and has since moved on to newer systems. His interests, outside of programming, include Judo, Yoga, Hiking, Kites, Amateur Robotics, Politics, and Meditation.
His websites include http://www.duckrowing.com/ and http://www.fredmccann.com/Home.html.
Muhammad Adil graduated from the National University of Computer and Emerging Sciences in Pakistan, with a Bachelor's degree in Computer Science. He was a very active Freelance Software developer during his university years. So, after graduating, he kept working as a Freelance developer and has been working as an iOS developer for the past one and a half years.
www.PacktPub.com
Support files, eBooks, discount offers, and more
You might want to visit www.PacktPub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read, and search across Packt's entire library of books.
Why Subscribe?
Fully searchable across every book published by Packt
Copy and paste, print and bookmark content
On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
This book is dedicated to my mother Mrs. Nita Harwani and Mark Zuckerberg.
My mother is next to God for me and whatever I am today is because of the moral values taught by her.
It is because of Mark Zuckerberg's amazing development; Facebook that I could meet my school and Engineering college friends after a long break of 18 years.
Preface
Since its invention, iPhone has been inspiring developers around the world to develop applications for it. Several applications can be built for iPhone, which include Web applications, Native iPhone applications, Games, Weather, News applications, Data driven applications, and so on.
Looking at the huge demand of developing data applications for iPhone inspired me to write a book on Core Data—a perfect framework for developing data-driven applications for iPhone. In this book, I have tried my level best to keep the code simple and easy to understand. I have provided step-wise instructions with screenshots at each step. Feel free to contact me at <bmharwani@yahoo.com> for any queries. Any suggestions for improving the book will be highly appreciated.
What this book covers
In Chapter 1, Overview, you will see a brief history of the Core Data and a small introduction to EOF and Xcode.
In Chapter 2, Understanding Core Data, you will have an introduction to the Core Data framework and its features. You will learn about the data model and how it defines the structure of data in terms of entities, properties, and their relationships. Also, you will get a brief idea of Model View Controller (MVC), the Core Data API and its main components. Besides this, the chapter includes an overview of the application (Sales Record System for a Store), which we will be building in the book along with its different views and the tasks performed when different controls in these views are selected.
Chapter 3, Understanding Objective-C Protocol and Table View, explains how an object collaborates with other objects through the delegation pattern. We will learn about the working of a protocol, that is, how a protocol and its methods are defined. We will also learn how an object adopts a protocol to act as a delegate and how a protocol establishes a contract for communication between two objects.
Chapter 4, Designing a Data Model and Building Data Objects for Customers, introduces the working of UITableView and explains step-by-step how information is displayed via the table view. The chapter explains the different methods used in displaying information through table view and also how to add more information to the existing information being displayed via table view. For instance, if four names are already being displayed in a table, this chapter will show how to add the newly entered name to the existing list of names in the table.
In Chapter 5, Creating, Listing, and Deleting Names of Customers, we will be learning how to design a data model for storing any customer's information, that is, we will define the Customer entity and its attributes. Also, we will learn to build the data object (classes) associated with the Customer entity.
Chapter 6, Creating, Listing, Displaying, and Deleting Records of Customers, focuses on explaining how a customer's information, which is stored in the Customer entity, is maintained. The chapter gives a step-by-step explanation of how to save, display, and delete the customer information that comprises customer's name, e-mail address, and contact number.
In Chapter 7, Updating and Searching Records of Customers, we will see how to modify the customer information, which is, unlike the editing
feature in Chapter 6 that was limited to the deletion of a record; we will see how to update (modify) the information of the existing customers. The chapter explains the procedure to add an Edit button to the view, which when selected will allow us to edit the information of the selected customer. This chapter also covers how to save the modified information back to the persistent store. In this chapter, we will also learn the application of NSPredicate to apply query facility to locate the desired customer quickly.
Chapter 8, Entering, Saving, Listing, and Deleting the Records of the Products Sold to the Customers, explains how to store the information of the products purchased by different customers, we will learn to add the Product entity to our existing data model and we will see how the relationship is established from the Customer entity to the Product entity. The chapter also explains how the inverse relationship is set from the Product entity to the Customer entity and finally, the procedure of building data objects for the modified data model. Also, we will learn how to maintain the product's information, that is, how to enter, save, display, and edit the information of the products that are sold to different customers. We will learn how to develop a view to enter the product's information, develop a product's menu to add, edit, and display the products sold to the selected customer and finally, to connect the product's menu to the rest of the application.
Chapter 9, Entering, Displaying, and Deleting the Stock, covers the creation of a Master Product entity, which will be used for storing the information of products that the vendor is dealing with. All the products available for sale are stored in this table. In order to store the image of the product, the chapter explains the concept of transformable data type that is used for creating custom data types. The chapter also explains how to enter, save, display, delete, and modify the information of the master products that the vendor deals with. It also covers the working of the Image Picker control—how it is used in selecting images of the products and the different methods to define the size of the image of the product. In all, the chapter explains how to develop a view to enter master product's information, develop a menu to add, delete, and display information of master products for the MasterProduct.
Note
The information of the products entered in the MasterProduct entity is very different from the information of the product entered in the Product entity. The Product entity stores the information of the products that are sold to the customers, whereas the MasterProduct entity refers to the products that are available for sale.
Chapter 10, Editing the Stock Information, explains how to connect the menu meant for adding, deleting, and displaying the Master Product information to the rest of the application. Also, the chapter covers the step-by-step approach to develop a view to display and modify the selected master product's information.
In Chapter 11, Displaying the Products for Sale and Updating the Stock, we will learn how to implement query facility while entering the information of the products sold to the selected customer. Also, we will see how the quantity of the master product gets automatically reduced by the amount of quantity sold to the selected customer.
Appendix, Appendix, will give you a brief idea about the topics covered in this book.
What you need for this book
This book assumes that you have an Intel-based Macintosh running Snow Leopard (Mac OS X 10.6.2 or later). Why Snow Leopard? There are