coredata

CoreData: annotation: Failed to load optimized model at path with Xcode 9 GM

匿名 (未验证) 提交于 2019-12-03 01:27:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Failed to load OMO warning (potential crash): Project with xcode 9 following warning is observed in the console during debug/release builds (iOS 11 GM/beta & iOS 10): CoreData: annotation: Failed to load optimized model at path "/Users/xyz.abc/Library/Developer/CoreSimulator/Devices/A-GUID/data/Containers/Bundle/Application/B-GUID/app-name.app/Frameworks/framework-name/mystorename.momd/mystorename 6.omo" Any custom framework (e.g. GoogleMaps, etc) that uses CD also results in this warning and potential crashes. Update: Using Xcode Version 9

CoreData: warning: Unable to load class named

匿名 (未验证) 提交于 2019-12-03 01:27:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I am duplicating an existing Objective-C TV Show app to a new Swift version using Xcode 6.1 and am having some issues with CoreData. I have created a model of 4 entities, created their NSManagedObject subclass (in Swift), and all files have the proper app targets set (for 'Compile Sources'). I am still getting this error whenever I try to insert a new entity: CoreData: warning: Unable to load class named 'Shows' for entity 'Shows'. Class not found, using default NSManagedObject instead. A few comments: When saving to Core Data, I use the

Xcode-beta 8. Can't create core data

匿名 (未验证) 提交于 2019-12-03 01:25:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: I have been trying to add core data. And every time I got the same error: error : filename "EntityName +CoreDataClass.swift" used twice : '/Users/userName/Desktop/Development/MyApp/AppName/EntityName +CoreDataClass.swift' and '/Users/userName/Library/Developer/Xcode/DerivedData/AppName-dgwzrmxsetzvtedibxrazuutjwnh/Build/Intermediates/AppName.build/Debug-iphoneos/AppName.build/DerivedSources/CoreDataGenerated/Model/EntityName +CoreDataClass.swift' I add core data using the following steps: 1.New file/ DataModel; save it in the root

How to define CoreData relationship in Swift?

匿名 (未验证) 提交于 2019-12-03 01:15:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: In CoreData, I have defined an unordered to-many relationship from Node to Tag . I've created an Swift entity like this: import CoreData class Node : NSManagedObject { @NSManaged var tags : Array } Now I want to add a Tag to an instance of Node , like this: var node = NSEntityDescription.insertNewObjectForEntityForName("Node", inManagedObjectContext: managedObjectContext) as Node node.tags.append(tag) However, this fails with the following error: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unacceptable

iOS数据持久化 -- Core Data

蓝咒 提交于 2019-12-02 08:24:03
Core Data是一个功能强大的层,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互。Core Data将数据库行转换为OC对象(托管对象)来实现,这样无需任何SQL知识就能操作他们。 Core Data位于MVC设计模式中的模型层,一般需要在设备上存储结构化数据时,考虑使用SQLite或是序列化等方法,而Core Data是这两种方法的混合体,并增加了一些功能,提供了SQL强大威力,但是用起来又和序列化一样简单。Core Data能将应用程序中的对象直接保存到数据库中,无需进行复杂的查询,也无需确保对象的属性名和数据库字段名对应,这一切都由Core Data完成。 Core Data的核心——托管对象 托管对象是要存储到数据库中的对象的一种表示,可以看成是SQL记录,它通常包含一些字段,这些字段与应用程序中要存储的对象的属性进行匹配,创建托管对象后,必须将气托管到托管对象上下文中,然后才可以存储到数据库中。 托管对象上下文: 托管对象上下文包含所有的托管对象,这些托管对象已经为提交给数据库准备就绪,在托管对象上下文中,可以添加、修改和删除托管对象,这一层相当于应用程序和数据库之间的缓冲区。 托管对象表: 托管对象表描述了数据库的架构(schema),供托管对象上下文与数据库交互时使用。托管对象表包含一些列实体描述

Core Data简介

假如想象 提交于 2019-12-01 05:17:03
Core Data简介 1.CoreData是iOS中数据持久化的最佳方式 2.Core Data以面向对象的方式存储和管理对象的。 3.CoreData最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 4.好处: 1.能够合理的管里内存,避免使用sql的麻烦 2.利用Core Data框架,记录转对象,对象转记录不用SQL语句 5.使用CoreData需要导入Core Data框架 Core Data关键类 1.NSManagedObjectContext (被管理的数据上下文) 操作实际内容 (插入数据,查询数据,删除数据) 2.NSManagedObjectContextModel(被管理的数据模型) 数据库里所有的表格或数据结构,包含个实体的定义信息 (添加实体信息,建立属性之间的额关系) 3.NSPersistentStoreCoordinator (持久化助理) 相当于数据库的链接器 (设置数据存储的名字,位置,存储方式,和存储时机) 4.NSManagedObject (被管理的数据记录) 相当于数据库中的表格记录 5.NSFetchRequest (获取数据请求) 相当于查询语句 6.NSEntityDescription (实体结构) 相当于表格结构 Core Data使用 1.导入Core Data框架 1.创建工程,勾选Use

Core Data 学习笔记(三)被管理对象

狂风中的少年 提交于 2019-11-29 23:59:05
目录 Core Data 学习笔记(一)框架简介 Core Data 学习笔记(二)被管理对象模型 Core Data 学习笔记(三)被管理对象 Core Data 学习笔记 应用示例 Core Data 学习笔记 常用链接整理 五、被管理对象 本章节提供关于“被管理对象(Managed Object)”的基础说明,如如何存储被管理对象的数据、如何实现一个自定义被管理对象类、对象的生命周期和断层(Faulting)等。 5.1 基础 被管理对象是 NSManagedObject 类的实例或者 NSManagedObject 子类的实例,其表现为一个数据实体的实例。 NSManagedObject 用于实现所有被管理数据模型所需要的基础行为的通用类。我们可以自定义创建 NSManagedObject 的子类。 如果我们不需要给实体添加额外的操作逻辑,我们就不需要给为实体单独定制 NSManagedObject 的子类。 在使用Swift语言的过程中,为每个实体创建一个子类,然后进行相应的扩展,是有必要的。 一个被管理对象与一个实体描述类( NSEntityDescription 的实例)相关联,这个实体描述类提供有关这个实体的元数据的描述(实体名称、实体属性、实体间的关系等)。还与一个被管理对象上下文相关联,这个上下文追踪这个被管理对象的改变路径。 在被管理上下文中

Core Data 学习笔记 应用示例

半世苍凉 提交于 2019-11-29 23:58:52
目录 Core Data 学习笔记(一)框架简介 Core Data 学习笔记(二)被管理对象模型 Core Data 学习笔记(三)被管理对象 Core Data 学习笔记 应用示例 Core Data 学习笔记 常用链接整理 示例 使用Xcode创建Entity及属性 创建一个新的项目,命名为“CoreData”,并__勾选__“Use Core Data” 在创建成功的新项目中,找到“CoreData.xcdatamodeld”文件,并点击打开 在主面板“Entities”中,添加一个名为"User"的实体 点击“User”实体,在右侧为实体添加两个“Attribute”,分别为“name”与“birthday”,类型都是“String”型 在“菜单栏”依次点击“Editor” - “Create NSManagedObject Subclass” 点击“Next” 勾选“User”实体 点击“Next” 选择项目目录“CoreData”,在下面的“Group”中,选择项目目录“CoreData” 保存 注意: 实体的属性名称,首字母必须小写。我们可以使用骆驼命名法对实体的属性进行命名。 在生成完成Entity子类后,打开子类文件,查看子类的标题上方是否有 @objc(EntityName) 标记,如果没有,就加上。如果不加上,在使用上下文对象时,会提示找不到实体类。

Core Data 学习笔记(一)框架简介

强颜欢笑 提交于 2019-11-29 23:58:42
目录 Core Data 学习笔记(一)框架简介 Core Data 学习笔记(二)被管理对象模型 Core Data 学习笔记(三)被管理对象 Core Data 学习笔记 应用示例 Core Data 学习笔记 常用链接整理 零、前言 学习iOS开发已经有一段时间了,由于一直没有系统的去从头到尾的学,多半是到AppCoda上面找文章来看,所以当真正开始想要做一个小应用时,却无从下手了。经过思考,感觉上应该是由于一直是看别人的教程,从头到尾的跟下来,但是却从来没有针对具体的细节进行思考的原因。所以开始打算在iOS应用开发过程中遇到的技术要点都深入的学习一下,然后整理成笔记,发在博客园、开源中国一个Github仓库当中。发在开源中国是因为感觉开源中国的社交氛围要好一些。至于单独开一个Github仓库,纯粹是处于一种备份的目的。左右这两个平台都支持Markdown格式,所以也就没所谓了。 笔记中所涉及的图片,大都来自每篇笔记最下面的参考文章当中。我将参考文章分为了两个类别,一个是在苹果开发者库中找到的教程,第二个是通过互联网找到的各类博客文章。 每篇笔记发表之后,我还会根据在实际使用中的新的发现以及在网络上看到的比较好的文章之后,整理出新的心得到对应的笔记当中。 一、简单介绍 Core Data框架是用来管理数据在iOS应用当中的持久化操作的一种方式。其具有如下特性:

Core Data 学习笔记(二)被管理对象模型

岁酱吖の 提交于 2019-11-29 23:09:40
目录 Core Data 学习笔记(一)框架简介 Core Data 学习笔记(二)被管理对象模型 Core Data 学习笔记(三)被管理对象 Core Data 学习笔记 应用示例 Core Data 学习笔记 常用链接整理 三、被管理对象模型 CoreData的大多数功能依赖于你创建的用于描述实体、实体属性以及实体间关系的Schema。Schema被表述为一个 被管理对象模型(NSManagedObjectModel) 实例对象。通常,这个实例对象越丰富,CoreData对你应用程序的支持越好。 3.1 被管理对象模型特点 被管理对象模型有如下特点: 被管理对象模型是一个 NSManagedObjectModel 类的实例。 它描述你在应用中使用的数据实体的Schema。 详情描述如下。 3.1.1 实体(Entities) 一个模型包含 NSEntityDescription 对象,该对象用于描述一个实体的名称,以及在运行时被使用来表达这个类的实体的名称。一个 NSEntityDescription 对象还可能包含 NSAttributeDescription 以及 NSRelationshipDescription 两个对象。数据实体可能还包含由 NSFetchedPropertyDescription 类的实例来表达的可提取属性。模型还可能有提取请求模板,由