您现在的位置是:主页 > news > 网站与网页/免费seo提交工具
网站与网页/免费seo提交工具
admin2025/6/27 14:08:23【news】
简介网站与网页,免费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 创建)