34,333
edits
Changes
no edit summary
{{#pagetitle: iOS 10 Databases in Swift using Core Data }}
<seo title="iOS 10 Databases in Swift using Core Data" titlemode="replace" keywords="ios 10, swift 3, core data, coredata, database, xcode 8" description="An introduction to database management in iso using the CoreData framework"></seo>
<table border="0" cellspacing="0" width="100%">
<tr>
The preceding chapters covered the concepts of database storage using the SQLite database. In these chapters the assumption was made that the iOS application code would directly manipulate the database using SQLite C API calls to construct and execute SQL statements. While this is a perfectly good approach for working with SQLite in many cases, it does require knowledge of SQL and can lead to some complexity in terms of writing code and maintaining the database structure. This complexity is further compounded by the non-object-oriented nature of the SQLite C API functions. In recognition of these shortcomings, Apple introduced the Core Data Framework. Core Data is essentially a framework that places a wrapper around the SQLite database (and other storage environments) enabling the developer to work with data in terms of Swift objects without requiring any knowledge of the underlying database technology.
We will begin this chapter by defining some of the concepts that comprise the Core Data model before providing an overview of the steps involved in working with this framework. Once these topics have been covered, the next chapter will work through [[An iOS 8 Swift Core Data Tutorial|An iOS 10 Core Data Tutorial]].
== The Core Data Stack ==
<td width="20%">[[An Example SQLite based iOS 8 Application using Swift and FMDB|Previous]]<td align="center">[[iOS 8 App Development Essentials|Table of Contents]]<td width="20%" align="right">[[An iOS 8 Swift Core Data Tutorial|Next]]</td>
<tr>
<td width="20%">An Example SQLite based iOS 10 Application using Swift and FMDB<td align="center"><td width="20%" align="right">An iOS 10 Swift Core Data Tutorial</td>
</table>