Learning Core Data for iOS - Tim Roadley

Learning Core Data for iOS

A Hands-On Guide to Building Core Data Applications

(Autor)

Buch | Softcover
480 Seiten
2013
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-321-90576-5 (ISBN)
35,20 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
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

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.

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

Erscheint lt. Verlag 5.12.2013
Verlagsort New Jersey
Sprache englisch
Maße 180 x 227 mm
Gewicht 754 g
Themenwelt Informatik Betriebssysteme / Server Macintosh / Mac OS X
Informatik Programmiersprachen / -werkzeuge Mac / Cocoa Programmierung
Informatik Software Entwicklung Mobile- / App-Entwicklung
Informatik Weitere Themen Smartphones / Tablets
Technik Nachrichtentechnik
ISBN-10 0-321-90576-8 / 0321905768
ISBN-13 978-0-321-90576-5 / 9780321905765
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
für jeden klar und verständlich

von Uwe Albrecht

Buch | Softcover (2023)
Markt + Technik Verlag
19,95