您现在的位置是:主页 > news > 网站与网页/免费seo提交工具

网站与网页/免费seo提交工具

admin2025/6/27 14:08:23news

简介网站与网页,免费seo提交工具,在广州学编程有名气的培训班,深圳网站营销公司简介文章目录创建模型获取coredata 操作上下文环境基本操作写入查询修改常见的问题创建模型 1 创建.xcdatamodeld文件 2 添加entity, 并设置属性 3 create NSManagedObject Subclass ,如图 获取coredata 操作上下文环境 (NSManagedObjectContext *)coredatagetCo…

网站与网页,免费seo提交工具,在广州学编程有名气的培训班,深圳网站营销公司简介文章目录创建模型获取coredata 操作上下文环境基本操作写入查询修改常见的问题创建模型 1 创建.xcdatamodeld文件 2 添加entity, 并设置属性 3 create NSManagedObject Subclass ,如图 获取coredata 操作上下文环境 (NSManagedObjectContext *)coredatagetCo…

文章目录

    • 创建模型
    • 获取coredata 操作上下文环境
    • 基本操作
      • 写入
      • 查询
      • 修改
    • 常见的问题

创建模型

1 创建.xcdatamodeld文件
请添加图片描述

2 添加entity, 并设置属性
请添加图片描述

3 create NSManagedObject Subclass ,如图
请添加图片描述

获取coredata 操作上下文环境

+ (NSManagedObjectContext *)coredatagetContext {NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"];//根据模型文件创建模型对象NSManagedObjectModel *model = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];//2、创建持久化存储助理:数据库//利用模型对象创建助理对象NSPersistentStoreCoordinator *store = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];//数据库的名称和路径NSString *docStr = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];NSString *sqlPath = [docStr stringByAppendingPathComponent:@"coreData.sqlite"];NSLog(@"数据库 path = %@", sqlPath);NSURL *sqlUrl = [NSURL fileURLWithPath:sqlPath];NSError *error = nil;//设置数据库相关信息 添加一个持久化存储库并设置存储类型和路径,NSSQLiteStoreType:SQLite作为存储库[store addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:sqlUrl options:@{NSMigratePersistentStoresAutomaticallyOption:@YES,NSInferMappingModelAutomaticallyOption:@YES} error:&error];if (error) {NSLog(@"添加数据库失败:%@",error);} else {NSLog(@"添加数据库成功");}//3、创建上下文 保存信息 操作数据库NSManagedObjectContext *context = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];//关联持久化助理context.persistentStoreCoordinator = store;return context;// _context = context;
}

基本操作

写入

+ (void)coreUpdateWithName:(NSString *)name gender:(NSString *)gender
{NSManagedObjectContext *context = [self  coredatagetContext];NSArray *array = [self coreDatagetStudent];BOOL add = YES;for (Student *person in array) {if ([person.name isEqualToString:NAME]) {add = NO;break;}}if (add == NO) {return;}Student *student = [NSEntityDescriptioninsertNewObjectForEntityForName:@"Student"inManagedObjectContext:context];student.name = name;student.gender = gender;//   3.保存插入的数据NSError *error = nil;if ([context save:&error]) {NSLog(@"掺入成年公插入成功弄");NSArray * array = [MyTool coreDatagetStudent];NSLog(@"插入后拆入喉%@",array);}else{NSLog(@"插入失败插入失败");}}

查询

+ (NSArray *)coreDatagetStudentNSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Student"];NSManagedObjectContext *context = [self  coredatagetContext];NSArray *resArray = [context executeFetchRequest:request error:nil];return resArray;
}

修改

   NSManagedObjectContext *context = [self  coredatagetContext];NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Student"];NSPredicate *pre = [NSPredicate predicateWithFormat:@"name = %@", name];request.predicate = pre;//发送请求NSArray *resArray = [context executeFetchRequest:request error:nil];//修改for (Student *stu in resArray) {stu.account = account;}//保存NSError *error = nil;if ([context save:&error]) {NSLog(@"更改成功饿");
//        [self alertViewWithMessage:@"更新所有帅哥的的名字为“且行且珍惜_iOS”"];}else{// NSLog(@"更新数据失败, %@", error);}

常见的问题

1 使用 editor -> Create NSManagedObject Subclass 方式创建 文件的时候,
默认创建的是swift 文件
请添加图片描述

如图
请添加图片描述

如果我们使用的是oc语言,则可以自己创建该类文件请添加图片描述

但是,当我们运行的时候发现是有重复文件的
请添加图片描述
原因是虽然我们删除了通过editor 创建的 文件,当时Xcode 已经默认为我们添加了,
切会记录,所以删除是无效的
解决方法就是新建一个entit y,然后 然后直接创建一个和entiry 类名相同的NSManagedObject 类 (不要通过editor 创建)