`

写给自己使用的CoreData

    博客分类:
  • iOS
阅读更多

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的东西,而去更加关注应用的细节开发

  • 大小: 84.5 KB
分享到:
评论

相关推荐

    coredata demo

    通过这个"coredata demo",开发者可以学习到如何在实际项目中使用CoreData,理解其工作原理,以及如何结合UITableView展示数据。这对于构建任何需要存储和检索数据的iOS应用来说都是非常重要的。

    Coredata的简单使用

    在标题提到的“Coredata的简单使用”中,我们将探讨如何结合MJExtension这一轻量级的JSON模型转换库来进一步简化数据处理。 首先,了解CoreData的基本架构。CoreData包括模型(Model)、托管对象上下文(Managed...

    CoreData使用 网易新闻

    本教程以"CoreData使用 网易新闻"为例,讲解如何利用CoreData进行增删改查操作,并已封装好相关功能,便于直接应用。 1. **CoreData架构** CoreData框架包括三个主要组件:Model(模型)、View(视图)和...

    CoreData数据验证

    通常,CoreData的读操作可以在任何线程中进行,但写操作(包括数据验证和保存)应该在主线程中执行,以保证UI的同步和数据的一致性。 总之,CoreData的数据验证机制是确保应用数据质量和一致性的重要手段。通过合理...

    iOS数据库篇(二)CoreData的创建与使用

    本篇文章将深入探讨CoreData的创建与使用,帮助开发者理解并熟练掌握这一核心技术。 一、CoreData概述 CoreData并不是一个数据库系统,而是一个模型对象框架,它负责管理和存储应用程序的数据。它通过创建数据模型...

    coredata实例

    在“coredata实例”这个项目中,我们可以看到一个关于如何使用CoreData实际操作的例子,特别是如何存储图像数据。在iOS应用中,存储图像通常是一个挑战,因为图像文件可能很大,而CoreData并不直接支持二进制大对象...

    CoreData增删改查Demo

    由于是一个Demo所以也没怎么进行封装,就迁就着看,再以后的几篇关于CoreData的blog里,我会深入学习,并且最终会用block对他进行封装,争取用起来写更少的代码量。 CoreData让不懂sql语句的人获益不少,因为他的...

    ios-CoreData(适配IOS 9 10).zip

    "简单写了增删"表明这个示例可能涵盖了如何添加新数据到CoreData以及删除已有数据的基本操作。"想学习的可以尝试增加改和查!"意味着完整的学习过程应该包括对数据的更新(Update)和查询(Fetch)功能的实现。 ...

    ios-CoreData 增删改查.zip

    简单实现了对数据的增删改查,都有注释,另外我还写了一篇简书,特别详细,简单粗暴,是人都看懂~~~ 简书: http://www.jianshu.com/p/7c1ac5ce614b github: https://github.com/ty82885279/CoreData

    CoreData 数据请求 以及下载的自封装方法

    5. CoreData 的使用: CoreData 包含实体(Entities)、属性(Attributes)和关系(Relationships)。ORMByCoreData.* 文件可能定义了与数据模型对应的 NSManagedObject 子类,封装了保存、删除、更新实体的操作。...

    ios-Coredata 的对象存储及增 删 改 查 条件过滤的详细解释.zip

    这里主要是讲如何使用系统自带的 CoreData 类对数据持久化到本地的操作,对于初学者十分适合使用,作为作者的我,将所有必要的注释全部写的清楚明了,使得 ios 开发人员在参考此文档时既有 demo 又有解释,实现快速上手.

    CoreData Programming Guide

    ### CoreData编程指南核心知识点 #### 一、CoreData概述 **CoreData** 是苹果公司为iOS、macOS...通过对上述知识点的学习与实践,开发者可以更好地理解和掌握CoreData的使用方法,从而提高应用的整体质量和用户体验。

    CoreData-Realm-UserDefaults

    在iOS应用开发中,数据管理是至关重要的。`CoreData`、`Realm`和`UserDefaults`是三种常用的数据持久化...通过阅读和实践其中的代码,你可以更深入地了解它们的工作原理和使用技巧,从而在实际项目中更好地选择和应用。

    CoreData:Demo中详细讲解了CoreData的各种操作,并且给出了详细的注释。写技术文章不容易,希望各位能帮忙点个Star,谢谢!

    我在简书的博客中写了一系列总计六篇的CoreData文章,总字数大概3W+,从CoreData的基础使用到使用进阶,再到多线程、版本迁移等高级用法,讲解非常详细。 但CoreData的学习还是应该偏实践,我根据博客中讲到的知识点...

    CoreDataDemo:CoreData一些demo,包括后台操纵,多线程导入大数据等

    在项目的源代码中,可能会包含这些自定义的子类,以及如何在CoreData模型中使用它们。 4. **Fetch Request**:这是CoreData获取数据的主要方式,可以根据特定条件查询数据库。项目可能包含了各种fetch request的...

    ios-Coredata 镇山改查.zip

    简单实现了对数据的增删改查,都有注释,另外我还写了一篇简书,特别详细,简单粗暴,是人都看懂~~~ 简书: http://www.jianshu.com/p/7c1ac5ce614b github: https://github.com/ty82885279/CoreData

    CoreDataPDF:CoreData系列文章总计分为六篇,总字数为6w+。写技术文章不容易,希望各位能帮忙点个Star,谢谢!

    很多人其实并不了解CoreData,经过我的研究发现CoreData各方面还是很好的,为了让大家更加了解CoreData,所以写这系列文章带大家认识一下CoreData。这系列文章将从简单到复杂的来讲一下CoreData,其中除了基础使用还...

    clean-architecture-swiftui:使用Clean Architecture的SwiftUI示例应用程序。 使用CoreData持久性,联网,依赖项注入,单元测试等的示例

    在本示例中,可以使用URLSession或者其他第三方库如Alamofire进行网络请求。网络层应遵循同样的接口原则,通过定义协议(如NetworkService),将网络请求封装成可调用的方法,供Use Cases调用。这样可以避免在网络...

    WhereAreYouFrom:使用OCR技术和CoreData的车牌读取器iOS应用程序

    使用OCR技术和CoreData创建读取iOS应用程序的车牌使用不同库(TesseractOCRiOS,SwiftOCR和Google MLVision)的完整教程| 我们可以击败Google吗? 让我们深入了解iOS设备的视觉世界,就本教程而言,我们将阅读车牌并...

Global site tag (gtag.js) - Google Analytics