首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

coredata 最容易例子

2012-09-28 
coredata 最简单例子先按照网上的教程,建一个简单的带coredata的项目再 添加一个 UserInfo 对象(表)(按照

coredata 最简单例子

先按照网上的教程,建一个简单的带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");    }

热点排行