core-data相关内容

每次我获取同一个 NSManagedObject 时,Core Data 都会返回一个不同的对象实例.为什么是这样?

我最近注意到,如果我获取一个 ManagedObject ,我可以验证模型中只有一个并且没有保留在我的应用程序中的任何位置,每次获取返回对象时它都是一个不同的实例(使用指向不同内存地址的指针).这是为什么呢? 解决方案 如果没有人保留,Core Data 可以自由发布.如果您再次要求它,它可能会位于不同的内存位置.你不能指望它是同一个对象实例. ..
发布时间:2022-01-20 14:53:59 移动开发

NSPredicate 获取children的children

我想获取所有的治疗,它们是这个 List 对象的子对象. 我不确定是否可以做到. 我有一个 TableView 显示列表中的所有患者.每个患者可以接受多种治疗. 我有一个对当前列表的引用,并想用它来以某种方式找到孩子们的孩子. 谢谢 解决方案 对带有谓词的“Treatment"实体使用获取请求 [NSPredicate predicateWithFormat:@" ..
发布时间:2022-01-20 14:37:04 移动开发

核心数据:在谓词中查询 objectID?

我正在使用获取请求和谓词从 Core Data 持久存储中获取一组对象.我当前的谓词只是检查一个属性是否 >= 某个值.这一切都很好,除了我想最终排除当前保存在数组中的任何对象. 我基本上需要能够排除一组对象,我认为我能做到这一点的唯一方法是能够从我的托管对象数组中获取 objectID 列表,并且在我的谓词中创建另一个表达式,以确保返回的任何对象都没有相同的 objectID.即@"ANY ..
发布时间:2022-01-20 14:26:40 其他开发

达到 50 个条目限制时如何自动删除最旧的核心数据条目?

我想要完成的是:我需要将核心数据条目的数量限制为 50.因此,如果用户输入他们的第 50 个条目,那么应用程序将删除最旧的条目并将新条目添加到栈顶.所以基本上,如果用户从不删除条目并且如果核心数据中有 50 个条目,那么当用户尝试添加新条目时,应用程序将删除最旧的条目并添加用户的新条目.基本上,我正在尝试做一些历史记录,但我不希望用户能够超过 50 个条目,但是我希望他们能够在达到 50 个限制时 ..
发布时间:2022-01-19 21:08:32 移动开发

如何在核心数据中存储 CGRect 和其他东西

我在使用 coredata 时遇到了一些初期问题,但如果有人可以向我解释一些简单的案例,我觉得这对我来说很清楚. 我想将我的模型放入 coredata,并且在最简单的情况下利用撤消/重做.问题是,我看到的所有示例都倾向于存储字符串或整数.如果我有一个想要在核心数据中实现的类(一个虚构的例子)怎么办: @interface 徽章:NSObject {NSString *textForBadg ..
发布时间:2022-01-19 21:06:04 移动开发

将普通 sqlite3 数据库迁移到核心数据?

我有一个正常的预填充数据库.我想将它迁移到我的应用程序的核心数据.实现这一目标的最佳方法是什么.顺便说一句,我已经完成了这些事情,从苹果的示例中复制了 recipes.sqlite 数据库.导出了一个表 sql.根据核心数据表列重命名列名(类似这样 - id "primary key" with Z_PK).用我的价值观填满那张桌子.但我无法理解列名 Z_ENT 和 Z_OPT.有人知道我如何轻松 ..
发布时间:2022-01-19 20:26:49 数据库

Swift - 在应用程序组中共享核心数据模型(带扩展)

我正在尝试在我的应用程序和扩展程序中使用相同的核心数据模型,但不确定如何在两者之间共享核心数据模型.核心数据模型的类使用带有类名的命名空间,所以当我尝试获取扩展中的对象时,我得到了无法加载名为“"的类的错误. CoreData:警告:无法为实体加载名为“Dali.Alarm"的类'警报'.找不到类,改用默认的 NSManagedObject. 有没有办法在类名中不使用命名空间,或者有没 ..
发布时间:2022-01-18 23:03:24 移动开发

在视图控制器之间传递数据/对象/moc - 最佳实践

我有一个我怀疑很常见的场景,我在回答其他类似问题时发现了各种想法,包括设置 IBOutlets、将 NSmanagedobjects 作为属性传递以及只使用一个视图控制器但换出视图,但我不确定哪个是为我的解决方案实施的最佳想法. 我有一个具有典型模型的 iOS/iphone 应用程序.UITabBarController 包含多个 UINavigationControllers. 在其 ..

如何在 iOS 和 OS X 之间创建一个共享框架

我正在尝试创建一个框架来保存在 iOS 和 OS X 上运行的应用程序的通用实体类.目前我只是将文件包含在每个目标中,但这需要更改数据模型以便从当前目标(因为在 Swift 中,您必须在模型文件中指定具有该类的模块).这当然意味着我有时会忘记并且事情不起作用. 显而易见的解决方案是创建一个包含实体类的共享框架,以便数据模型始终指向同一个位置. 问题是似乎没有任何方法可以创建在这两个平台 ..
发布时间:2022-01-16 19:36:45 其他开发

通过 NSFetchedResultsController 按距离排序的核心数据中的位置?

我的 iOS Core Data 数据库中有一组实体对象,用于描述某个位置的某些内容.让我们称实体位置.我通过在 Location 上有两个引用位置的属性来实现这一点 - 纬度和经度,都是双精度的.还有其他元素,例如名称. 我正在使用 NSFetchedResultsController 将实体绑定到 UITableViewController.我想做的是让结果按到给定 CLLocation ..

Core Data 什么时候刷新到磁盘?

我在我的应用程序中使用 Core Data,并发现了模拟器的一些奇怪行为:当我在我的应用程序中向 Core Data 添加一些数据并使用 XCode 中的“停止"按钮退出模拟器时(或者只需按 Cmd-Q) 立即,下次我启动模拟器时,数据不会存储在数据库中.经过一些测试,我发现数据存储到磁盘: 当我按下主页按钮时.(几乎 - 如果退出速度非常快,可以在存储数据之前退出应用程序.) 如果我在添 ..
发布时间:2022-01-14 20:25:41 移动开发

核心数据 - 打破父上下文的保留周期

假设我们在核心数据模型中有两个实体:部门和员工. 部门与员工是一对多的关系. 我有以下 ManagedObjectContexts: - 根:连接到持久存储协调器 - 主要:与父根的上下文 当我想创建员工时,我会执行以下操作: - 我在主要上下文中有一个部门 - 我在主上下文中创建了一个员工 - 我将部门分配给员工的部门属性 - 我保存主上下文 - 我保存了根上下文 ..
发布时间:2022-01-14 20:12:01 其他开发

使用 UITableView 和 NSOrderedSet 对核心数据进行排序

在使用 Core Data 作为后备存储的 UITableViewController 中实现用户定义的排序需要执行哪些步骤? 我还需要响应 -tableView:moveRowAtIndexPath:fromIndexPath:toIndexPath: 还是模型重新排序由表视图自动处理?我可以只选中 Core Data 模型文件中的“Ordered"复选框并期望它将更改从 table vi ..
发布时间:2022-01-14 19:57:42 移动开发

NSManagedObjectContext 的 performBlock: 是做什么用的?

在 iOS 5 中,NSManagedObjectContext 有几个新方法,performBlock: 和 performBlockAndWait:.这些方法实际上是用来做什么的?它们在旧版本中替换了什么?应该将什么样的块传递给他们?我如何决定使用哪个?如果有人有一些使用示例,那就太好了. 解决方案 方法 performBlock: 和 performBlockAndWait: 用于向 ..
发布时间:2022-01-14 19:42:05 移动开发

如何以一对多关系清除/重置所有CoreData

我正在使用 coreData,具有一对多的关系,我有一个文件夹实体和一个文件实体.一个文件夹可以有很多文件等等. 所以,我有两个 ViewController,FolderViewController 和 FileViewController,它们分别包含文件夹和文件.现在我有一个 modalView,它可以从文件夹和文件 viewcontroller 访问.在这个 VC 中,我有一个按钮来 ..
发布时间:2022-01-14 19:41:00 移动开发

Core Data 托管对象在重启模拟器之前看不到相关对象

有一个Stumper(至少对我来说). 我正在使用带有 ARC 的 iOS 5.0,以及 UIManagedDocument 中的 Core Data. 我有一个实体(组)与实体(人)之间存在一对多关系(称为人).当我添加一个新组,然后添加一个新人员(将人员的 .group 关系设置为新组)时,我无法使用 Person 实体上的谓词检索相关人员 where ("group == %@" ..
发布时间:2022-01-14 19:35:02 其他开发

使用新的外部存储标志将 UIImage 存储在核心数据中

我知道 UIImage 在核心数据中的存储已经讨论了很多,例如 这里,但那是 ios5 之前的版本.现在我们有了外部存储标志,你们认为将 UIImage 直接存储在实体中、作为单独的实体还是仍然在磁盘上是一个好主意? 这里是解释外部存储选项的来源. 解决方案 iOS 5.0 核心数据发布说明 启用后,Core Data 会启发式地根据每个值决定是否它应该将数据直接保存在数据库中 ..
发布时间:2022-01-14 19:28:57 移动开发