问题标签 [nsmanagedobjectmodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1119 浏览

objective-c - 核心数据无法在设备上运行,但在模拟器上运行良好

我正在为我的应用程序使用核心数据。它在模拟器上运行良好,但不能在真实设备上检索详细信息。设备是 iOS6.1。这是我正在使用的代码:

这就是我保存登录详细信息的方式,它没有给出任何错误。

这就是我检索的方式:

但我没有在设备上获取用户详细信息,而是在模拟器上获取。有人遇到过同样的情况吗?

0 投票
1 回答
1162 浏览

ios - 以编程方式设置核心数据 - NSManagedObjectContext 来自哪里?

我想完全以编程方式设置 Core Data。我已经以 an 的形式定义了一个数据库模式,NSManagedObjectModel并以 's 的形式添加了一些实体定义,就像在本页NSEntityDescription底部所做的那样。一切都很好。

NSPersistentStoreCoordinator然后我使用它的类方法创建了一个initWithObjectModel:并传入上述模式。在这一点上,我不知道该怎么办。

我假设下一步是以某种方式获得一个NSManagedObjectContext,因为据我了解,它就像一个 DB 暂存器,并且是我最终想要做的大多数事情(创建、读取、更新、删除记录等)所必需的。下一步是什么(记住没有 gui 工具),如果它得到一个上下文,我该怎么做?此外,如果有人知道任何完全以编程方式完成此类事情的博客文章/资源,那就太好了。

0 投票
2 回答
1292 浏览

ios - 关系数据库设计(电子商务) - 核心数据

在我的电子商务应用程序(用于咖啡馆/餐馆)中,我目前具有以下数据库结构。

在此处输入图像描述

购物车是购物车,您可以在其中添加产品,这是产品/订单发送到服务器之前的临时位置。这ProductCart是一个行项目,许多产品(可能相同)具有不同的数量、尺寸、油炸级别等。发送订单时,购物车被清空,购物车中的产品被转移到ProductOrder实体 (an Order)。

我现在想进一步扩展这一点,产品具有成分的能力,这对于我的头脑和数据库技能来说变得棘手和过于复杂:-)。除了(相同的)产品可以有不同的尺寸和油炸水平(因此是行项目)之外,产品还应该能够有许多不同的成分(添加),例如比萨饼,您可以在其中选择浇头。这是我到目前为止所尝试的:

在此处输入图像描述

但我不确定这是否是正确的结构或方法?

0 投票
1 回答
44 浏览

nsmanagedobjectmodel - 为什么我添加另一个版本的 DataModel 后,我的 NSManagedDataModel 没有实体?

为什么我添加另一个版本的 DataModel 后,我的 NSManagedDataModel 没有实体?

MacBook Pro Late 2008, OS X 10.8.5, Xcode 5.0.2, Project 有两个app,一个OS X,一个iOS,都共享一个datamodel 最近新增一个dataModel 版本DataModel 涉及NSManagedObject 的四个子类。四个类中的每一个都收到了两个相同的更改,即添加了两个属性:修改了 NSDate uid NSString 我没有选择选项:在生成四个类的文件时使用原始数据类型的标量属性。

在 OS X 应用程序中执行以下四行时,

这是输出:

每次运行都会创建 momd 包,但它有 0 个实体。

.app 包内容看起来是这样的:

https://www.dropbox.com/s/68iy8gjqbv0m0tq/Screenshot%202014-02-16%2018.03.02.png

非常感谢,马克

0 投票
0 回答
226 浏览

ios - 如何在一个持久存储协调器中创建两个持久存储

我需要创建两个持久存储,每个存储都有自己的实体和一个持久存储协调器。困难的部分是,我希望一个持久存储链接到 iCloud,但另一个只能是本地存储。我已阅读有关为托管对象模型进行不同配置的信息,但是如何从本地存储而不是启用 iCloud 的存储中获取实体?到目前为止,这是我的代码,我是否朝着正确的方向前进?:

在我的托管对象模型中,我有一个名为“下载”的实体的配置,我只想保存在本地,但它也在默认配置中,我想链接到 iCloud。如何确保以正确的配置保存实体?

0 投票
1 回答
229 浏览

objective-c - How does the save method in Core Data works?

I'm following a guid in core data, and they implement an action method to preform saving to the database using a ManagedObject. I understand all the code in the method except the method which they say preform the saving, and to me it looks like the method checks if there is an error, and if yes so there is an NSLog to print that there was an error. this is the method:

Obviously something happens in [context save:&error] this call which I'd love if you can explain what?

0 投票
1 回答
430 浏览

ios - 跨多个上下文重用 NSFetchRequest 时崩溃

编辑:该线程的原始标题是“创建第二个托管对象模型时崩溃”,但问题已解决,问题结果如上述标题中所述。

TL;DR:不要NSFetchRequests跨多个NSManagedObjectContext对象重用。见答案。


我们看到了一个似乎与 NSEntityDescription 重用有关的问题。

我们有一个应用程序,每个用户使用 Core Data,并允许用户登录和注销。每个会话都有我们称之为核心数据堆栈的东西,它加载一个托管对象模型、存储协调器和我们使用的上下文层次结构。当用户注销时,我们释放堆栈,模型、协调器和上下文都被释放。但是,当用户再次登录时,我们会崩溃。启用僵尸,我们看到以下内容:

每当我们尝试执行 fetch 时,都会发生这种情况。我玩弄了核心数据堆栈,并使模型成为静态的(它按需加载一次,并且永远不会发布),这可以按预期工作。问题是,我们的应用程序在运行时修改模型实体以符合安全策略(例如,我们将某些属性设置为瞬态,以便它们不会存储到磁盘中)。所以制作模型不是一个可行的解决方案。

这是崩溃的回溯:

有没有人见过这种问题?有小费吗?

我已经为此问题打开了错误报告 16767152。

0 投票
3 回答
349 浏览

ios - 更新核心数据模型后,我收到“无法识别的选择器”错误

我有核心数据模型,它工作正常,但我需要添加新属性。我单击我的 .xcdatamodel 并转到编辑器/添加模型版本。现在我添加新属性并将其添加到 .h 和 .m 文件中。

当我运行应用程序时,它给了我一个错误:

现在,即使我从设备中删除应用程序并从新安装它仍然给我同样的错误。

我做错了什么?

编辑 :

我已将新模型设置为当前模型:

在此处输入图像描述

我的模型看起来像:

在此处输入图像描述

和类看起来像:

。H :

和.m

在我的 AppDelegate 中,我设置了:

编辑2:

0 投票
1 回答
138 浏览

objective-c - NSManagedObject 子类和 xcdatamodeld 文件有什么关系?

0 投票
2 回答
3087 浏览

core-data - ManagedObjectModel 子类在 Swift 中不起作用

总结一下我所做的:

  1. 创建了一个名为 2048 的项目。

  2. 创建了 NSManagedObject 的子类

    /li>
  3. 创建了 NSManagedObjectModel 的子类

    /li>
  4. 在核心数据选项卡下创建了一个数据模型。将该文件命名为 2048.xcdatamodeld。添加了一个实体BestScoreModel,其属性为“score”,类型定义为Integer 16。此外,我还根据官方文档将实体的类更新为2048.BestScoreModel 。

  5. 在控制器类中,我添加了以下变量

    /li>

该应用程序已成功构建,但是当我运行模拟器时,它抛出了以下异常

我对 iOS 开发完全陌生,之前没有经验。我想把 Swift 作为一个在不学习 Objective-c 的情况下开始编写应用程序的机会。如果我配置错误,请告诉我。

感谢您的帮助。

PS:我从这里得到托管对象上下文的实现。非常感谢作者!