IOS核心数据(CoreData)框架-创新互联

1、NSManagedObjectModel:管理的对象模型,相当于实体,不过它包含了实体间的关系

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、秀屿网络推广、微信小程序开发、秀屿网络营销、秀屿企业策划、秀屿品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;成都创新互联为所有大学生创业者提供秀屿建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

2、NSManagedObjectContext:管理的对象上下文,操作实际内容,作用:插入数据  查询  更新  删除

3、NSPersistentStoreCoordinator:持久化存储助理,相当于数据库的连接器

4、NSFetchRequest:获取数据的请求,相当于查询语句

5、NSPredicate:相当于查询条件

6、NSEntityDescription:实体结构

7、后缀名为.xcdatamodel的包,里面的.xcdatamodel文件,用数据模型编辑器编辑,编译后为.MOMD或.MOM文件;

操作步骤:

一、建立模型对象

#import

#import

@class ViewController;

@interface AppDelegate : UIResponder

@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) ViewController *viewController;

@property(strong,nonatomic,readonly)NSManagedObjectModel* managedObjectModel;

@property(strong,nonatomic,readonly)NSManagedObjectContext* managedObjectContext;

@property(strong,nonatomic,readonly)NSPersistentStoreCoordinator* persistentStoreCoordinator;

@end

//托管对象

-(NSManagedObjectModel *)managedObjectModel

{

  if (_managedObjectModel!=nil) {

    return _managedObjectModel;

  }

//   NSURL* modelURL=[[NSBundle mainBundle] URLForResource:@"CoreData" withExtension:@"momd"];

//   _managedObjectModel=[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];

  _managedObjectModel=[[NSManagedObjectModel mergedModelFromBundles:nil] retain];

  return _managedObjectModel;

}

//持久化存储协调器

-(NSPersistentStoreCoordinator *)persistentStoreCoordinator

{

  if (_persistentStoreCoordinator!=nil) {

    return _persistentStoreCoordinator;

  }

//   NSURL* storeURL=[[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"CoreaData.CDBStore"];

//   NSFileManager* fileManager=[NSFileManager defaultManager];

//   if(![fileManager fileExistsAtPath:[storeURL path]])

//   {

//     NSURL* defaultStoreURL=[[NSBundle mainBundle] URLForResource:@"CoreData" withExtension:@"CDBStore"];

//     if (defaultStoreURL) {

//       [fileManager copyItemAtURL:defaultStoreURL toURL:storeURL error:NULL];

//     }

//   }

  NSString* docs=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject];

  NSURL* storeURL=[NSURL fileURLWithPath:[docs stringByAppendingPathComponent:@"CoreData.sqlite"]];

  NSLog(@"path is %@",storeURL);

  NSError* error=nil;

  _persistentStoreCoordinator=[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

  if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {

    NSLog(@"Error: %@,%@",error,[error userInfo]);

  }

  return _persistentStoreCoordinator;

}

//托管对象上下文

-(NSManagedObjectContext *)managedObjectContext

{

  if (_managedObjectContext!=nil) {

    return _managedObjectContext;

  }

  NSPersistentStoreCoordinator* coordinator=[self persistentStoreCoordinator];

  if (coordinator!=nil) {

    _managedObjectContext=[[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];

    [_managedObjectContext setPersistentStoreCoordinator:coordinator];

  }

  return _managedObjectContext;

}

-(NSURL *)applicationDocumentsDirectory

{

  return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];

}

@end

[fetchedResultsController objectAtIndexPath]:返回指定位置的数据.

[fetchedResultsController sections]:获取section数据,返回的是NSFetchedResultsSectionInfo数据

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:IOS核心数据(CoreData)框架-创新互联
本文来源:http://ybzwz.com/article/degsho.html