Xcode创建iOS的Swift项目时的Use Core Data
是啥意思
[解决过程]
Checking the Use Core Data box will cause Xcode to generate boilerplate code for what’s known as a Core Data stack in AppDelegate.swift.The Core Data stack consists of a set of objects that facilitate saving and retrieving information from Core Data. There’s an object to manage the Core Data state as a whole, an object representing the data model, and so on.Note: Not all Xcode templates under iOS/Application have the option to start with Core Data. In Xcode 7, only the Master-Detail Application and the Single View Application templates have the Use Core Data checkbox.The idea for this sample app is simple. There will be a table view with a list of names for your very own “hit list”. You’ll be able to add names to this list and eventually, you’ll use Core Data to make sure the data is stored between sessions.Since you elected to use Core Data when you created the HitList project, Xcode automatically created a data model file for you and named it HitList.xcdatamodeld.
Core Data is not a DatabaseWhen we talk about persistent data, people probably think of database. If you are familiar with Oracle or MySQL, you know that relational database stores data in the form of table, row and column, and it usually facilitates access through what-so-called SQL query. However, don’t mix up Core Data with database. Though SQLite database is the default persistent store for Core Data on iPhone, Core Data is not a relational database. It is actually a framework that lets developers store (or retrieve) data in database in an object-oriented way. With Core Data, you can easily map the objects in your apps to the table records in the database without even knowing any SQL.
[总结]
CoreData,是一个框架,可以让开发者很方便的,以对象的方式去,调用对应的数据存取接口去存取数据。
需要注意的是:CoreData不是一个关系数据库,虽然底层实现是用的SQLite去实现数据存储的。
用Xcode创建项目的时候,只有Master Detail View 和Single Application View才有Use Core Data选项的。
对应的架构是: