core-data相关内容

iOS UITableView 部分与 fetchedResultsController 混淆

我有一个实体仅显示在一个部分的表格视图中.该实体有两个属性,workoutName 和 trainingLevel.两者都是字符串类型.培训级别由 3 种类型组成:1、2、3.(trainingLevel =(整数 16 或字符串类型?哪个是理想的?)我想将表格分成三个部分,每个部分包含对应培训级别的条目. 我该怎么做?我目前使用的代码如下: - (NSInteger)numberOfSe ..
发布时间:2021-12-23 14:25:56 移动开发

Core Data 的最大存储容量是多少?

Core Data 的最大存储容量是多少? 是否在应用级别定义了任何容量限制?例如,在可用的核心数据空间总量中,我的应用程序只能消耗 X 量? 如果我的应用试图超过 X 怎么办? 解决方案 Core Data 没有硬存储容量,因此您几乎只受系统上可用磁盘空间的限制.在 iOS 上(以及大部分时间在 OS X 上)Core Data 由 SQLite 支持,因此如果有任何限制,则是支持 ..
发布时间:2021-12-23 14:25:48 移动开发

Core Data 的预填充版本?

我的应用涉及通过互联网获取一个大型 json 文件,然后将其解析为 Core Data. 那很好,但是我怎么能把这个 Core Data 数据库的已经填充的版本放到我的应用程序中,所以当他们第一次启动它时它就在那里.并且用户可以决定稍后刷新. 解决方案 Ray Wenderlich 的网站. 一般——创建一个单独的项目,将JSON文件解析成一个核心数据数据库.创建您的真实项目, ..
发布时间:2021-12-23 14:25:44 移动开发

核心数据迁移问题:“持久化存储迁移失败,缺少源管理对象模型".

背景 一个 Cocoa 非文档核心数据具有两个托管对象的项目楷模. 模型 1 保持不变.模型2 变了,所以我想迁移商店. 我创建了一个新版本按设计 > 数据模型 > 添加模型Xcode 中的版本. 版本之间的区别是从单一关系变为多关系. 我已经做了我的对模型进行更改,然后保存. 我制作了一个新的映射模型有旧模型作为来源和新模型模型作为目的地. 我已经确保所有映射模型和数据模型并且 ..
发布时间:2021-12-23 14:25:35 移动开发

如何 VACUUM 核心数据 SQLite 数据库?

按照设计,Core Data 不会向其 SQLite 数据库发出 VACUUM SQL 命令,如 详情见这里.我正在创建一个 Core Data 应用程序,该应用程序将在 SQLite 数据库中存储并随后删除大型二进制文件(大小为 2-10MB).随着时间的推移,这将导致碎片化和大于必要的 SQLite 数据库.我想定期发出 VACUUM 命令,例如,在我运行的清理操作期间. 如何以编程方式 ..
发布时间:2021-12-23 14:25:25 数据库

通过 NSManagedObjectSubclass 上的 Swift 计算属性对 NSFetchedResultsController 进行排序

我正在使用 Swift 和 Core Data 构建一个应用程序.在我的应用程序中,我希望有一个 UITableView 显示当前在 Persistent Store 中的所有类型的对象.目前,我正在检索它们并使用 NSFetchedResultsController 在表视图中显示它们.我希望表视图按我的 NSManagedObject 子类的计算属性排序,如下所示: class MHClub ..
发布时间:2021-12-23 14:25:17 移动开发

核心数据删除规则——一对多关系,空时删除

我对 Core Data 中关系的删除规则的工作方式有点模糊,至少超出了文档中描述的简单情况. 大多数情况,以及我在这里看到的大多数问题的答案,都使用一个模型,其中一对多关系左侧的对象“拥有"右侧的对象:例如Person 有 PhoneNumbers,如果你删除这个人,你就会删除他们所有的关联号码.在这种情况下,解决方案很明确:如果您像这样设置关系,Core Data 将为您处理一切: P ..
发布时间:2021-12-23 14:25:08 移动开发

如何在 Core Data 中使用带有 fetchRequest 的谓词

我将联系人标识符从联系人表视图控制器传递到另一个位置表视图控制器.所以我定义了一个委托 ContactSelectionDelegate 并在 Location tableview 控制器中实现方法 userSelectedContact 并获得 contactIdentifierString 我正在搜索数据库以查找 contactIdentifierString 的匹配项并查找另一个属性提 ..
发布时间:2021-12-23 14:24:52 移动开发

计算核心数据属性的最大值 - NSCFNumber 错误

我需要找出核心数据实体的属性的最大值. 我仍然牢牢掌握 Cocoa 学习曲线,这是一个我用来学习的简单测试应用. 该应用程序从文本文件中导入财富并在屏幕上显示一个表格.导入在单独的后台线程中完成. 我在网上找到了这个代码,我试图让它工作: - (double)getMaxID{NSLog(@"in getMaxID");//调试//使用新的 moc 和原来的persistent ..
发布时间:2021-12-23 14:24:42 移动开发

使用 Swift 将 CoreData 实现到现有项目中

我目前使用的是 Xcode 6 beta 7,并在创建我的项目后决定需要 CoreData.我已经查看了一些已经针对目标 C 提出的问题以及观看有关该主题的视频,但我似乎遇到了同样的错误.至于我对 CoreData 框架本身的使用,我很确定它是正确的,因为我创建了另一个空项目(选中了 CoreData 框)并遵循了相同的实现,它就像一个魅力,但可能有什么问题我也在那里做.下面是我在 Swift 项 ..
发布时间:2021-12-23 14:24:34 移动开发

无法确定 CoreData 代码生成的生成文件路径

在为不同的目标构建我的项目时,我收到此错误: 无法确定为核心数据代码生成的文件路径一代:错误域=NSCocoaErrorDomain 代码=260“没有模型的当前版本在路径/Users/abc/Documents/Code/xyz-ios/ABC/iPhoneXMPP/SRT/Model.xcdatamodeld:"UserInfo={NSFilePath=/Users/abc/Docume ..
发布时间:2021-12-23 14:24:19 移动开发

将图像存储到 CoreData - Swift

在我的代码中,我设法用 CoreData 保存了一个 textLabel,但我似乎无法正确保存图像.我读过一些教程,我知道我必须将它转换为 NSData.但是我该怎么做呢? 提前致谢! 解决方案 Core Data 并不是为了保存像图像这样的大型二进制文件.改用文件系统中的文档目录. 这是实现这一目标的示例代码. 让文档目录 = NSSearchPathForDirector ..
发布时间:2021-12-23 14:24:15 移动开发

GROUP BY 相当于 Core Data

我知道我可以使用@distinctUnionOfObjects 在 SQL 中查找类似以下内容的内容: SELECT a_value从 my_tableGROUP BY a_value; 我正在寻找的是所有数据在一个数组中返回,而不仅仅是与 group by 表达式匹配的值数组.本质上,我正在寻找与以下核心数据的 SQL 查询等效的内容: SELECT *从 my_tableGROUP BY ..
发布时间:2021-12-23 14:24:00 移动开发

如何在父实体的获取请求的谓词中引用子实体名称?

我需要为抽象基础对象创建一个复杂的谓词.我想对不同的继承实体进行单独的谓词查询并关闭子实体类型,下面的示例是我想要做的,但是,我无法找到引用实体名称或键入的方法谓词. NSFetchRequest *request = [[NSFetchRequest alloc] init];request.entity = [NSEntityDescription entityForName:@"MyCom ..
发布时间:2021-12-23 14:23:56 移动开发

当模型发生变化时,擦除所有存储在 CoreData 中的数据

我有一个应用程序可以从互联网获取数据并使用 CoreData 将它们存储在设备中,以获得更流畅的体验. 因为我使用 Core Data,所以每次我的架构更改时,当我尝试使用存储在设备上的先前数据运行应用程序时,它都会崩溃.检测此更改并擦除设备中所有数据的最快方法是什么,因为我不介意重新下载所有数据.它击败了崩溃并将架构重新映射到新架构(在我的情况下). 我看到这个检查是在 getter ..
发布时间:2021-12-23 14:23:49 移动开发

将 NSManagedObjectModel 中的关系添加到以编程方式创建的 NSEntityDescription

当你编写一个使用 CoreData 的静态库时,在项目中包含一个普通的 .xdatamodeld 文件会造成很大的混乱,因为你不能仅仅将它的编译版本 (.momd) 链接到你的二进制文件中,所以最好创建整个 NSManagedObjectModel 代码如下: NSAttributeDescription *dateAttribute = NSAttributeDescription.new;d ..