首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏一“技”之长

    iOS中CoreData数据管理系列二——CoreData框架中三个重要的类

    NSManagedObjectModel对应数据模型,即上篇博客中我们创建的.xcdatamodeld文件;NSPersistentStoreCoordinator相当于数据库与数据模型之间的桥接器,通过 二、数据模型管理类NSManagedObjectModel     通过NSManagedObjectModel,可以将创建的数据模型文件读取为模型管理类对象,使用如下方法:     //获取.xcdatamodeld  * mom = [[NSManagedObjectModel alloc]initWithContentsOfURL:modelUrl]; 其中还有一些属性和方法进行数据模型的管理: //将多个数据模型管理文件进行合并 + (nullable NSManagedObjectModel *)mergedModelFromBundles:(nullable NSArray<NSBundle *> *)bundles;   //将多个数据模型管理类对象进行合并  + (nullable NSManagedObjectModel *)modelByMergingModels:(nullable NSArray<NSManagedObjectModel

    1K20发布于 2018-08-15
  • 来自专栏肘子的Swift记事本

    CoreData 探秘 - 从数据模型构建到托管对象实例

    使用该 URL 创建一个 NSManagedObjectModel 实例。 其中,在使用数据模型文件 URL 来创建 NSManagedObjectModel 实例的时候,Core Data 会将模型文件中的描述率先转换成对实体的程序式表达,然后再通过这些程序式表达创建 NSManagedObjectModel 现在我们就可以用这段代码,替换掉之前通过数据模型文件创建 NSManagedObjectModel 的操作。 Have you loaded your NSManagedObjectModel yet ? ,开发者可以在仅拥有 NSManagedObjectModel 实例的情况下,就具备了创建托管对象实例的条件。

    76320编辑于 2023-09-19
  • 来自专栏一“技”之长

    iOS中CoreData数据管理系列三——添加与查询数据

    二、建立数据对象类     前面博客介绍的NSManagedObjectModel是数据管理模型,可以将其类比如数据库,NSManagedObjectModel中存放着数据库的结构信息。  *modelUrl = [[NSBundle mainBundle]URLForResource:@"Model" withExtension:@"momd"];     //创建数据模型     NSManagedObjectModel  * mom = [[NSManagedObjectModel alloc]initWithContentsOfURL:modelUrl];     //创建持久化存储协调者     NSPersistentStoreCoordinator

    1.3K30发布于 2018-08-15
  • 来自专栏iOS122-移动混合开发研究院

    RestKit ,一个用于更好支持RESTful风格服务器接口的iOS库

    , "categories": [{"id": 1, "name": "Core Data"]} NSManagedObjectModel *managedObjectModel = [NSManagedObjectModel *managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil]; RKManagedObjectStore *managedObjectStore *managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil]; RKManagedObjectStore *managedObjectStore NSManagedObjectModel *managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil]; RKManagedObjectStore *managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil]; RKManagedObjectStore *managedObjectStore

    2.8K50发布于 2018-01-02
  • 来自专栏移动端开发

    CoreData和FMDB你用哪个?

    /** * 先把CoreData里面会用到的类总结一下: NSManagedObjectModel 数据模型管理类对应我们的.xcdatamodeld 文件 NSPersistentStoreCoordinator [[NSBundle mainBundle]URLForResource:@"CoreDataTest" withExtension:@"momd"]; // 获取创建的caredata 文件 NSManagedObjectModel * mom = [[NSManagedObjectModel alloc]initWithContentsOfURL:modelurl];         上面是创建  NSManagedObjectModel

    2.2K100发布于 2018-01-12
  • 来自专栏肘子的Swift记事本

    掌握 Core Data Stack

    组成 一个最基本的 Core Data Stack 至少要由以下四个类的实例构成: •NSManagedObjectModel(托管对象模型)•NSManagedObjectContext(托管对象上下文 每个 Core Data Stack 都要有一个 NSManagedObjectModel(托管对象模型)实例,可以将其看作是实际数据模型的程序呈现。 数据模型编辑器将定义的结果保存成 XML 格式的文件,Xcode 会在编译项目时将该文件编译成尾缀为 momd 的二进制文件并放置在 Bundle 中,在创建 NSManagedObjectModel •实例化一个托管对象模型 要创建一个 NSManagedObjectModel 的实例,需要从应用程序包中加载数据模型文件。 class CoreDataStack { private static var _model: NSManagedObjectModel?

    1.2K30编辑于 2022-07-28
  • 来自专栏iOS开发攻城狮的集散地

    iOS CoreData (一) 增删改查

    .png] [创建实体类.gif] [实体类的四个文件.png] 4、生成上下文 关联数据库 NSManagedObjectContext 管理对象,上下文,持久性存储模型对象,处理数据与应用的交互 NSManagedObjectModel modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"]; //根据模型文件创建模型对象 NSManagedObjectModel *model = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; //2、创建持久化存储助理:数据库 NSPersistentContainer是一个容器,封装了应用程序中的CoreData Stack(核心数据栈堆),简化了创建和管理的核心堆栈的数据处理创建NSManagedObjectModel,NSPersistentStoreCoordinator defaultDirectoryURL]; NSManagedObjectContext *viewContext = container.viewContext; NSManagedObjectModel

    1.8K70发布于 2018-05-22
  • 来自专栏iOS开发攻城狮的集散地

    iOS CoreData (一) 增删改查

    实体类的四个文件.png 4、生成上下文 关联数据库 NSManagedObjectContext 管理对象,上下文,持久性存储模型对象,处理数据与应用的交互 NSManagedObjectModel modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"]; //根据模型文件创建模型对象 NSManagedObjectModel *model = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; //2、创建持久化存储助理:数据库 NSPersistentContainer是一个容器,封装了应用程序中的CoreData Stack(核心数据栈堆),简化了创建和管理的核心堆栈的数据处理创建NSManagedObjectModel,NSPersistentStoreCoordinator defaultDirectoryURL]; NSManagedObjectContext *viewContext = container.viewContext; NSManagedObjectModel

    1.6K80发布于 2018-05-22
  • 来自专栏Helloted

    CoreData简介以及第三方框架MagicRecord源码解析

    abort(); } return __persistentStoreCoordinator; } 生成NSPersistentStoreCoordinator需要参数:文件保存路径、NSManagedObjectModel NSManagedObjectModel 生成这个类的来源就是在 xCode 里的.xcdatamodeld文件,我们可以可视化的对这个文件进行操作,实际上这个文件也就相当于数据库的 schema,这个文件编译后就是 Model Vesion:版本升级,Editor->Add Model Version,生成新的momd文件来进行版本升级,并且重新生成相关类 - (NSManagedObjectModel *)managedObjectModel NSBundle mainBundle] URLForResource:@"HelloApp" withExtension:@"momd"]; __managedObjectModel = [[NSManagedObjectModel

    1K20编辑于 2022-06-07
  • 来自专栏進无尽的文章

    储存篇 - CoreData使用大全

    Data Stack iOS10中利用NSPersistentContainer iOS10之前涉及NSManagedObjectContext、NSPersistentStoreCoordinator、NSManagedObjectModel *model = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; //2、创建持久化助理 //利用模型对象创建助理对象 NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"MoveBand" withExtension:@"momd"]; NSManagedObjectModel *mom = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; NSAssert(mom ! Model"); // Create persistent store coordinator(创建NSPersistentStoreCoordinator对象(需要传入上述创建的NSManagedObjectModel

    3.7K20发布于 2019-01-02
  • 来自专栏一“技”之长

    iOS中CoreData数据管理系列四——进行数据与页面的绑定

    进行初始化操作     NSURL *modelUrl = [[NSBundle mainBundle]URLForResource:@"Model" withExtension:@"momd"];     NSManagedObjectModel  * mom = [[NSManagedObjectModel alloc]initWithContentsOfURL:modelUrl];     NSPersistentStoreCoordinator

    1.1K10发布于 2018-08-15
  • 来自专栏冰霜之地

    iOS Core Data 数据迁移 指南 - 简书

    它会把位于NSManagedObject Context里面的托管对象NSManagedObject类的实例或者某个NSManagedObject子类的实例,通过NSManagedObjectModel 凡是会引起NSManagedObjectModel托管对象模型变化的,都最好进行数据迁移,防止用户升级应用之后就闪退。 会引起NSManagedObjectModel托管对象模型变化的有以下几个操作,新增了一张表,新增了一张表里面的一个实体,新增一个实体的一个属性,把一个实体的某个属性迁移到另外一个实体的某个属性里面…… Error: Error Domain=NSCocoaErrorDomain Code=134140 "(null)" UserInfo={destinationModel=(<NSManagedObjectModel *sourceModel = [NSManagedObjectModel mergedModelFromBundles:nil

    89810编辑于 2024-02-14
  • 来自专栏肘子的Swift记事本

    揭秘 SwiftData 的数据建模原理

    这个文件保存了用于创建数据模型(NSManagedObjectModel)的描述信息。 阅读 CoreData 探秘 - 从数据模型构建到托管对象实例[4] 一文,了解更多信息。 let schema = Schema([Item.self]) 开发者可以使用 Core Data 的新 API NSManagedObjectModel.makeManagedObjectModel ,通过为 SwiftData 声明的模型代码来生成对应的 NSManagedObjectModel: let model = NSManagedObjectModel.makeManagedObjectModel 这一点与 Core Data 不同,Core Data 可以仅通过 NSEntityDescription 信息(无需加载 NSManagedObjectModel)创建实例。

    83620编辑于 2023-10-08
  • 来自专栏iOS Developer

    详解持久化Core Data框架的原理以及使用---转自Bison的技术博客

    strong, nonatomic) NSManagedObjectContext* managedObjectContext; @property (readonly, strong, nonatomic) NSManagedObjectModel managedObjectContext setPersistentStoreCoordinator:coordinator]; } return _managedObjectContext; } - (NSManagedObjectModel NSBundle mainBundle] URLForResource:@"FKModel" withExtension:@"momd"]; // 加载应用的实体模型文件,并初始化NSManagedObjectModel 对象 _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];

    2K50发布于 2018-07-04
  • 来自专栏猿人谷

    词典对象 NSDictionary与NSMutableDictionary

    例如,NSDictionary 以及 Core Data 类, NSManagedObjectModel 提供了对快速迭代的支持; NSDictionary 枚举它的键, NSManagedObjectModel

    1.6K70发布于 2018-01-17
  • 来自专栏肘子的Swift记事本

    Core Data with CloudKit (一) —— 基础

    在此仅对本文涉及的一些基础对象类型做简单的介绍和比较: •NSPersistentContainer vs CKContainerNSPersistentContainer通过处理托管对象模型(NSManagedObjectModelNSManagedObjectModel vs SchemaNSManagedObjectModel是托管对象模型,标示着Core Data对应的数据实体(Enities)。 最终将其描述成NSEntityDescription并汇总到NSManagedObjectModel中。在CloudKit中用Record Types描述数据对象的名称、属性。 以私有数据库同步为例: •初始化:1.创建CKContainer2.根据NSManagedObjectModel配置Schema3.在私有数据库中创建ID为com.apple.coredata.cloudkit.zone

    1.6K30编辑于 2022-07-28
  • 来自专栏iOS开发攻城狮的集散地

    Core Data /FMDB/SQLite/

    (1)NSManagedObjectModel(被管理的对象模型) 相当于实体,不过它包含 了实体间的关系 (2)NSManagedObjectContext(被管理的对象上下文) 操作实际内容

    1.1K60发布于 2018-05-22
  • 来自专栏Antony iOS Development

    「死磕」Core Data——入门

    Data Stack iOS10中利用NSPersistentContainer iOS10之前涉及NSManagedObjectContext、NSPersistentStoreCoordinator、NSManagedObjectModel NSManagedObjectContext), 「persistent store coordinator」 (NSPersistentStoreCoordinator), 「managed object model」 (NSManagedObjectModel NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"MoveBand" withExtension:@"momd"]; NSManagedObjectModel *mom = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; NSAssert(mom ! Model"); // Create persistent store coordinator(创建NSPersistentStoreCoordinator对象(需要传入上述创建的NSManagedObjectModel

    1.6K20发布于 2019-02-14
  • 来自专栏云原生布道专栏

    【IOS开发高级系列】CoreData专题

    1.1.3 初始化机制         1,应用程序先创建或读取模型文件(后缀为xcdatamodeld)生成 NSManagedObjectModel 对象。 示例: NSManagedObjectContext * context  = [[NSApp delegate] managedObjectContext]; NSManagedObjectModel The schema is represented by a managed object model—an instance of NSManagedObjectModel. NSManagedObjectModel类中方法 - (void)setEntities:(NSArray *)entities   forConfiguration:(NSString *) configuration will throw an exception         _managedObjectModel = [[[NSManagedObjectModel alloc] initWithContentsOfURL

    1.8K50编辑于 2023-10-16
  • 来自专栏非典型技术宅

    Swift实践:使用CoreData完成上班签到小工具1. CoreData Stack的作用2.创建 CoreData Stack3. 一对多的关系4. 完成Demo,了解使用CoreData St

    心酸~~~~ 2.1 iOS9 在iOS9中,CoreData Stack的三个核心类是这样的: -管理对象上下文NSManagedObjectContext 对象模型NSManagedObjectModel

    1.9K30发布于 2018-06-28
领券