- 先按照网上的教程,建一个简单的带coredata的项目
- 再 添加一个 UserInfo 对象(表)(按照网上的教材,可视化方式添加)
- 然后在AppDelegate.m中按如下修改,(只添加了4个方法)
- 然后运行,看控制台日志
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
- // Override point for customization after application launch.
- self.window.backgroundColor = [UIColor whiteColor];
- [self.window makeKeyAndVisible];
- [self addUser];
- [self gainDatas];
- return YES;
- }
- //添加
- -(void)addUser{
- UserInfo * userInfo = [NSEntityDescription insertNewObjectForEntityForName:@"UserInfo"
- inManagedObjectContext:self.managedObjectContext];
- userInfo.name = @"dage";
- userInfo.password = @"password3";
- NSError *error = nil;
- if (![self.managedObjectContext save:&error]) {
- NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
- abort();
- }
- NSLog(@"add success");
- }
- //查询
- -(void)gainDatas {
- NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
- [fetchRequest setEntity:[NSEntityDescription entityForName:@"UserInfo" inManagedObjectContext:self.managedObjectContext]];
- NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like[cd]'baobao'"];//查询条件
- // NSPredicate *predicate = [NSPredicate predicateWithFormat:@"password='password3'"];//查询条件
- NSMutableArray *sortDescriptors = [NSMutableArray array]; //排序用
- [sortDescriptors addObject:[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES] ]; //排序用
- [fetchRequest setPredicate:predicate]; //查询条件
- [fetchRequest setFetchBatchSize:5]; //分页
- [fetchRequest setSortDescriptors:sortDescriptors]; //排序
- [fetchRequest setReturnsObjectsAsFaults:NO];
- [fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:@"name", @"password", nil]]; //查询的字段,一般不需要
- NSError *error = nil;
- NSArray *fetchedItems = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
- if (fetchedItems == nil) {
- NSLog(@"fetch request resulted in an error %@, %@", error, [error userInfo]);
- }else {
- NSLog(@"fetchedItems=%d",fetchedItems.count);
- for (UserInfo *user in fetchedItems) {
- NSLog(@"user.authour=%@",user.name);
- // [self deleteUser:user]; //删除
- // [self updateUser:user]; //更新
- }
- }
- }
- //删除:NSManagedObject对象必须先取出来,用managedObjectContext删除,保存就好
- -(void)deleteUser:(id)user{
- [self.managedObjectContext deleteObject:user];
- NSError *error = nil;
- if (![self.managedObjectContext save:&error]) {
- NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
- abort();
- }
- NSLog(@"delete success");
- }
- //更新:直接修改对象,保存managedObjectContext就好
- -(void)updateUser:(UserInfo*)user{
- user.name = @"baobao"; //修改后,直接保存managedObjectContext就可以了
- NSError *error = nil;
- if (![self.managedObjectContext save:&error]) {
- NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
- abort();
- }
- NSLog(@"update success");
- }
coredata 最简单例子
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
CSV文件太大?教你用最简单的工具分割!
首先,我要介绍的是“一键表格拆分助手”。这是一个由“勤学道人”开发的高性能一键拆分工具,特别适合小白用户。
csv分割 csv分割工具 csv分割拆分工具软件 csv大文件大表格拆分分割工具 -
Font Awesome 最简单应用例子
简介: Font Awesome为您提供可缩放的矢量图标,您可以使用CSS所提供的所有特性对它
font Awesome css 缩放 搜索 -
最简单的 Webpack Hello World 例子
webpack 用于编译 JavaScript 模块,运行 webpack 5 的 Node.js 最低版本是 10.13.0 (LTS)。命令行:npm install webpack webpack-cli --save-devwebpack-cli 的作用:用于在命令行中运行 webpackSAP Spartacus 的 devDependencies 中就包含该依赖。创建一个新项目:index.js 的源代码:function component() {const ele
javascript node.js html 显式 命令行 -
最简单JavaScript程序 简单的javascript例子
&nbs
最简单JavaScript程序 java javascript ViewUI HTML