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

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

By: Tim Roadley (author)Paperback

2 - 4 weeks availability

Description

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

Create a review

About 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.

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 DATASOURCE: UITableView 96 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 DELEGATE+DATASOURCE: UIPickerView 162 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

Product Details

  • publication date: 20/11/2013
  • ISBN13: 9780321905765
  • Format: Paperback
  • Number Of Pages: 480
  • ID: 9780321905765
  • weight: 754
  • ISBN10: 0321905768

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly

Close