@import url(http://m.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
Core Data是個好東西,在數據儲存操作上速度快,容易操作,是一種類似關系數據庫的東西。但是有些不那么好學,那到底Core Data是怎么操作的呢?怎么用呢?怎么來編程呢?我們一起來學習吧,接下來使用蘋果提供的實例程序Locations來作分析:
>程序介紹:
右側是改程序的截圖,基本上來說就是通過使用Core Location來得到當時的位置,然后在點擊“+”的時候記錄下當時的經緯度。通過UITableViewController的功能來添加,編輯,刪除等功能。整體程序使用Core Data來儲存數據,實體(Entity)為一個位置,包括以下參數:1,時間(收集數據的時間)2,緯度,3,經度
首先我們看看該程序的AppDelegate.h
- @interface LocationsAppDelegate : NSObject {
- UIWindow *window;
- UINavigationController *navigationController;
-
-
- NSPersistentStoreCoordinator *persistentStoreCoordinator;
- NSManagedObjectModel *managedObjectModel;
- NSManagedObjectContext *managedObjectContext;
- }
-
- @property (nonatomic, retain) IBOutlet UIWindow *window;
- @property (nonatomic, retain) UINavigationController *navigationController;
-
- - (IBAction)saveAction:sender;
-
-
- @property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
- @property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
- @property (nonatomic, retain, readonly) NSPersistentStoreCoordinator
- *persistentStoreCoordinator;
- @property (nonatomic, readonly) NSString *applicationDocumentsDirectory;
-
- @end
從上面的我們能看出來,該程序是通過一個根Core Data數據管理來管理整個程序的CoreData數據的,接下來看m文件也會對此作更多的理解。
從上面的程序主代理文件可以看出,CoreData的簡單使用不過是通過三個組建。
NSManagedObjectModel來描述實體與實體的關系,也就是類似于表和表的關系。
NSManagedObjectContext來得到被儲存內容的文件管理器,對數據作直接操作
NSPersistentStoreCoordinator來管理數據的儲存位置,儲存方法(SQLite)
你對Core Data理解更多了么?
- @interface LocationsAppDelegate : NSObject {
- UIWindow *window;
- UINavigationController *navigationController;
-
-
- NSPersistentStoreCoordinator *persistentStoreCoordinator;
- NSManagedObjectModel *managedObjectModel;
- NSManagedObjectContext *managedObjectContext;
- }
-
- @property (nonatomic, retain) IBOutlet UIWindow *window;
- @property (nonatomic, retain) UINavigationController *navigationController;
-
- - (IBAction)saveAction:sender;
-
-
- @property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
- @property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
- @property (nonatomic, retain, readonly) NSPersistentStoreCoordinator
- *persistentStoreCoordinator;
- @property (nonatomic, readonly) NSString *applicationDocumentsDirectory;
-
- @end
From: http://blog.csdn.net/usxue/article/details/5011447