一 Core Data是什么
Mapping,简称ORM)在IOS平台的实现。
排序数据等。
#import <CoreData/CoreData.h>
@interface Zone : NSManagedObject
@property (nonatomic, retain) NSNumber *
zoneid;
@property (nonatomic, retain) NSString *
name;
@property (nonatomic, retain) NSNumber *
belong;
@property (nonatomic, retain) NSNumber *
type;
@property (nonatomic, retain) NSNumber *
shape;
@end
#import <CoreData/CoreData.h>
#import "Zone.h"
@class Location;
@interface PolygonZone : Zone
@property (nonatomic, retain) NSSet *points;
@end
@interface PolygonZone (CoreDataGeneratedAccessors)
- (void)addPointsObject:(Location *)value;
- (void)removePointsObject:(Location *)value;
- (void)addPoints:(NSSet *)values;
- (void)removePoints:(NSSet *)values;
@end
-insertedObjects
, -updatedObjects
,和
deletedObjects
方法来知道在执行下次save操作的时候哪些对象将被添加更改和删除。
pch 文件 ) 预编译文件,添加如下代码
@property (readonly, strong, nonatomic) NSManagedObjectModel
*managedObjectModel;
= _managedObjectContext;
@synthesize managedObjectModel = _managedObjectModel;
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;
// *******创建受控对象模型**************
- (NSManagedObjectModel *) managedObjectModel
{
if (_managedObjectModel != nil)
{
return _managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return _managedObjectModel;
}
- (NSPersistentStoreCoordinator *)
persistentStoreCoordinator
{
if (_persistentStoreCoordinator != nil)
{
return _persistentStoreCoordinator;
}
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"CoreDataDemo.sqlite"];
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil
URL:storeURL
options:nil
error:&error])
{
/*
Replace this implementation with code to handle the error appropriately.
*/
NSLog(@"Unresolved
error %@, %@", error, [error userInfo]);
abort();
}
return _persistentStoreCoordinator;
- (NSManagedObjectContext *)
managedObjectContext
{
if (_managedObjectContext != nil)
{
return _managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil)
{
_managedObjectContext = [[NSManagedObjectContext alloc] init];
[_managedObjectContext setPersistentStoreCoordinator:coordinator];
}
return _managedObjectContext;
- (NSURL *)applicationDocumentsDirectory
{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}