写给自己使用的CoreData

coredata一直很少用,一直用的sqlite,今天就总结一下好用的CoreData,毕竟是苹果的开发者,咱就使用原生的吧.模仿别人的写一遍,熟悉一下操作

1。按照 UserDefault模式操作 

 NSManagedObjectContext *context = [selfmanagedObjectContext];

//根据实体名称,创建一个实体实例

    NSManagedObject *failedBankInfo = [NSEntityDescriptioninsertNewObjectForEntityForName:@"FailedBankInfo"inManagedObjectContext:context];

//赋值

    [failedBankInfo setValue:@"Test Bank1"forKey:@"name"];

    [failedBankInfo setValue:@"Testvile"forKey:@"City"];

    [failedBankInfo setValue:@"Testland"forKey:@"state"];

    

    NSManagedObject *failedBankDetails = [NSEntityDescriptioninsertNewObjectForEntityForName:@"FailedBankDetails"inManagedObjectContext:context];

    [failedBankDetails setValue:[NSDatedate] forKey:@"closeDate"];

    [failedBankDetails setValue:[NSDatedate] forKey:@"updateDate"];

    [failedBankDetails setValue:[NSNumbernumberWithInt:12345] forKey:@"zip"];

    

    [failedBankDetails setValue:failedBankInfo forKey:@"info"];

    [failedBankInfo setValue:failedBankDetails forKey:@"details" ];

    NSError *error;

//保存数据

    if (![context save:&error]) {

        NSLog(@"%@",error.localizedDescription);

 

    }

2.按照类的实例方式赋值

    AppDelegate * delegate = [NSApplicationsharedApplication].delegate;

    

//    获取上下文

NSManagedObjectContext * context =    [delegate managedObjectContext];

    NSFetchRequest * fetchRequest = [[NSFetchRequestalloc] init];

    

//    根据名称获取实体

    NSEntityDescription * entity = [NSEntityDescriptionentityForName:@"FailedBankInfo"inManagedObjectContext:context];

    

//    fetch设置实体

    [fetchRequest setEntity:entity];

        //    fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"FailedBankInfo"];//可根据entity名称获取fetch

    NSError * error;

//    context中根据 fetch获取实体集

    

    NSArray *fetchObjects = [context executeFetchRequest:fetchRequest error:&error];

//    遍历实体集

    for (NSManagedObject *info in fetchObjects) {

        NSLog(@"%@",[info valueForKey:@"name"]);

        NSManagedObject * details = [info valueForKey:@"details"];

        NSLog(@"Zip %@",[details valueForKey:@"zip"]);

 

    }

从1.2两种方式看出,iOS的CoreData对数据的操作还是很方便的,省去了很大一部分sql语句,对于手机端开发人员省去了很多时间去学习SQL的东西,而去更加关注应用的细节开发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值