Learning Core Data for iOS: A Hands-On Guide to Building Core Data Applications


Get Started Fast with iOS 7 Core Data App Development
Covers iOS 7 and Xcode 5

This is the first Core Data book to fully reflect Apple’s latest platform innovations, including its dramatic recent improvements to iCloud support. Hands-on from start to finish, it teaches you step-by-step as you create a modern data-driven iOS app using Storyboards, ARC, iOS 7, and Xcode 5.

Tim Roadley introduces new patterns and...

See more details below
BN.com price
(Save 28%)$44.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (13) from $22.55   
  • New (10) from $24.20   
  • Used (3) from $22.55   
Learning Core Data for iOS: A Hands-On Guide to Building Core Data Applications

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac

Want a NOOK? Explore Now

NOOK Book (eBook)
BN.com price
(Save 44%)$35.99 List Price


Get Started Fast with iOS 7 Core Data App Development
Covers iOS 7 and Xcode 5

This is the first Core Data book to fully reflect Apple’s latest platform innovations, including its dramatic recent improvements to iCloud support. Hands-on from start to finish, it teaches you step-by-step as you create a modern data-driven iOS app using Storyboards, ARC, iOS 7, and Xcode 5.

Tim Roadley introduces new patterns and best practices designed to overcome the frustrations of Core Data development. One step at a time, you’ll build and extend your skills--even mastering advanced techniques such as complex model migration, deep copy, background processing, and integration with Dropbox, StackMob, and iCloud.

Downloadable versions of this book’s main project are provided with each chapter, so you can see exactly what your app project should look like--and get cookbook-style code for your own projects. Chapter exercises help you explore even further, whether you’re a self-learner or a student in an iOS development course.

If you’re an experienced iOS developer, this guide brings together all the skills, tools, code, and patterns you need to add powerful data management capabilities to any app--quickly, easily, and painlessly.

Coverage includes the following:

  • Understanding Core Data
  • Adding Core Data to an existing project
  • Designing, upgrading, and migrating data models (automatically and manually with progress indication)
  • Populating views with data, including table-views and picker-views
  • Preloading a “default data” persistent store from XML
  • Deep-copying from one persistent store to another
  • Performance tuning with Instruments, using large photos as the example
  • Background processing, using thumbnail generation as the example
  • Efficient search
  • Seamlessly backing up and restoring with Dropbox
  • Stable integration with iCloud--with full support for multiple accounts, seeding, and de-duplication
  • Web service integration with StackMob
Read More Show Less

Product Details

  • ISBN-13: 9780321905765
  • Publisher: Addison-Wesley
  • Publication date: 12/10/2013
  • Series: Learning Series
  • Edition number: 1
  • Pages: 480
  • Sales rank: 778,670
  • Product dimensions: 7.00 (w) x 8.90 (h) x 1.20 (d)

Meet the Author

Tim Roadley is a senior analytics software consultant at Emite Pty Ltd. He is primarily focused on delivering business intelligence dashboards, currently for one of Australia’s major banks. Prior to Emite, Tim was Infrastructure Manager at Cuscal Pty Ltd, where he was heavily involved in designing and implementing a payments switch that drives 1,300+ ATMs throughout Australia. By night he is an avid iOS developer and tutorial writer, with several apps on the App Store, including Teamwork, iSoccer, and now Grocery Dude and Grocery Cloud. In his downtime, he enjoys spending time with his wonderful wife, Tracey, and two lovely children, Tyler and Taliah.

Read More Show Less

Table of Contents

Preface xv
Chapter 1: Your First Core Data Application 1

What Is Core Data? 1
Persistent Store Coordinator 2
Managed Object Model 4
Managed Object Context 4
When to Use Core Data 5
Introducing Grocery Dude 5
Adding Core Data to an Existing Application 6
Introducing Core Data Helper 7
Core Data Helper Implementation 9
Files 9
Paths 10
Setup 11
Saving 14
Summary 16
Exercises 16
Chapter 2: Managed Object Model Basics 19
What Is a Managed Object Model? 19
Adding a Managed Object Model 20
Entities 20
Attributes 22
Integer 16/32/64 23
Float and Double 24
Decimal 25
String 25
Boolean 25
Date 25
Binary Data 26
Transformable 26
Attribute Settings 28
Subclassing NSManagedObject 29
Scalar Properties for Primitive Data Types 31
Snippet Demo Method 31
Creating a Managed Object 32
Backend SQL Visibility 33
Fetching Managed Objects 36
Fetch Request Sorting 38
Fetch Request Filtering 39
Fetch Request Templates 40
Deleting Managed Objects 42
Summary 43
Exercises 43
Chapter 3: Managed Object Model Migration 45
Changing a Managed Object Model 45
Adding a Model Version 47
Lightweight Migration 48
Default Migration 52
Migration Manager 57
Summary 69
Exercises 69
Chapter 4: Managed Object Model Expansion 71
Relationships 71
Delete Rules 77
Validation Errors 81
Entity Inheritance 86
Summary 90
Exercises 90
Chapter 5: Table Views 91
Table Views 101 91
Core Data Table Views 93
Introducing CoreDataTVC 93
Fetching 95
DELEGATE: NSFetchedResultsController 98
AppDelegate’s CoreDataHelper Instance 104
Introducing PrepareTVC 105
Data 106
View 108
Interaction 114
Introducing ShopTVC 117
Data 117
View 118
Interaction 121
Summary 122
Exercises 122
Chapter 6: Views 125
Overview 125
The Target View Hierarchy 126
Introducing ItemVC 127
Keeping Reference to a Selected Item 128
Passing a Selected Item to ItemVC 128
Configuring the Scroll View and Text Fields 129
ItemVC Implementation 134
Interaction 134
DELEGATE: UITextField 136
View 137
Data 139
Units, Home Locations, and Shop Locations 143
Adding and Editing Units 145
Implementing UnitsTVC 147
Implementing UnitVC 149
Segue from UnitsTVC to UnitVC 153
Adding and Editing Home or Shop Locations 154
Configuring the Home Location Views 154
Configuring the Shop Location Views 156
Summary 158
Exercises 158
Chapter 7: Picker Views 159
Overview 159
Introducing CoreDataPickerTF 160
Interaction 164
Data 165
View 165
Introducing UnitPickerTF 168
Creating the Unit Picker 170
Connecting the Unit Picker 171
Configuring ItemVC for the Unit Picker 171
Introducing LocationAtHomePickerTF 176
Introducing LocationAtShopPickerTF 178
Creating the Location Pickers 179
Connecting the Location Pickers 180
Configuring ItemVC for the Location Pickers 181
Picker-Avoiding Text Field 186
Summary 188
Exercises 188
Chapter 8: Preloading Data 189
Default Data 189
Is an Import Required? 190
Importing from XML 193
Creating an Import Context 196
Preventing Duplicate Default Data 197
Triggering a Default Data Import 198
Introducing CoreDataImporter 200
Selecting Unique Attributes 205
Mapping XML Data to Entity Attributes 206
Importing from a Persistent Store 209
Using the Default Data Store as the Initial Store 210
Summary 213
Exercises 214
Chapter 9: Deep Copy 215
Overview 215
Configuring a Source Stack 218
Configuring the Source Store 219
Enhancing CoreDataImporter 221
Object Info 221
Array For Entity 222
Copy Unique Object 223
Establish To-One Relationship 224
Establish To-Many Relationship 226
Establish Ordered To-Many Relationship 227
Copy Relationships 228
Deep Copy Entities 230
Triggering a Deep Copy 232
Summary 236
Exercises 236
Chapter 10: Performance 239
Identifying Performance Issues 239
Implementing the Camera 240
Generating Test Data 245
Measuring Performance with SQLDebug 250
Measuring Performance with Instruments 251
Improving Performance 254
Clean Up 261
Summary 262
Exercises 262
Chapter 11: Background Processing 263
Background Save 263
Background Processing 268
Introducing Faulter 269
Introducing Thumbnailer 273
Summary 279
Exercises 279
Chapter 12: Search 281
Updating CoreDataTVC 282
Updating PrepareTVC 289
Summary 294
Exercises 294
Chapter 13: Back Up and Restore with Dropbox 297
Dropbox Integration 298
Supporting Frameworks 299
Linking to Dropbox 300
Introducing DropboxHelper 302
Introducing DropboxTVC 304
Preparing CoreDataHelper 307
Building DropboxHelper 308
Local File Management 308
Dropbox File Management 310
Backup & Restore 312
Building DropboxTVC 316
Creating Backups 319
Displaying Backups 322
Restore 324
Summary 328
Exercises 328
Chapter 14: iCloud 331
Overview 331
Enabling iCloud 333
Updating CoreDataHelper for iCloud 334
The iCloud Store 335
iCloud Notifications 337
The Debug Navigator 341
Disabling iCloud 342
Summary 348
Exercises 348
Chapter 15: Taming iCloud 351
De-Duplication 351
Seeding 360
Developing with a Clean Slate 367
Configurations 369
Finishing Touches 370
Summary 371
Exercises 372
Chapter 16: Web Service Integration 379
Introducing StackMob 379
The StackMob SDK 381
Creating a StackMob Application 382
Managed Object Model Preparation 383
Configuring a StackMob Client 385
Saving 387
Underlying Changes 389
Automatic Schema Generation 390
Schema Permissions 393
Authentication 394
Securing the User Class 396
Introducing LoginVC 397
Maintaining Responsiveness 406
Summary 408
Exercises 409
Appendix A: Preparing Grocery Dude for Chapter 1 411
New Xcode Project 411
Storyboard Design 412
App Icons and Launch Images 415
Appendix B: Preparing Grocery Cloud for Chapter 16 417
Renaming Grocery Dude 417
Repointing File Paths 418
Renaming Groups and Tests 419
Renaming the Scheme 420
Updating the Artwork 421
Disabling Camera and Image Support 421
Workaround: Section Name Key Path Issue 422
Summary 423
Index 425
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)