如何向核心数据的 NSOrderedSet 添加元素?

2024-01-15

我对此做了一些研究post https://stackoverflow.com/questions/7385439/exception-thrown-in-nsorderedset-generated-accessors/7922993#7922993。但它的解决方案都不适合我。让我解释一下我做了什么:

这实际上与提到的帖子非常相似。

类别.h

@class Category, Item;

@interface Category : NSManagedObject

@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSOrderedSet *items;
@property (nonatomic, retain) Category *parentcategory;
@property (nonatomic, retain) NSSet *subcategories;

@end

@interface Category (CoreDataGeneratedAccessors)

- (void)insertObject:(Item *)value inItemsAtIndex:(NSUInteger)idx;
- (void)removeObjectFromItemsAtIndex:(NSUInteger)idx;
- (void)insertItems:(NSArray *)value atIndexes:(NSIndexSet *)indexes;
- (void)removeItemsAtIndexes:(NSIndexSet *)indexes;
- (void)replaceObjectInItemsAtIndex:(NSUInteger)idx withObject:(Item *)value;
- (void)replaceItemsAtIndexes:(NSIndexSet *)indexes withItems:(NSArray *)values;
- (void)addItemsObject:(Item *)value;
- (void)removeItemsObject:(Item *)value;
- (void)addItems:(NSOrderedSet *)values;
- (void)removeItems:(NSOrderedSet *)values;
- (void)addSubcategoriesObject:(Category *)value;
- (void)removeSubcategoriesObject:(Category *)value;
- (void)addSubcategories:(NSSet *)values;
- (void)removeSubcategories:(NSSet *)values;

@end

在我的视图控制器中,我加载类别之一:

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:kEntityCategory];
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor
                                                    sortDescriptorWithKey:kAttributeCategoryName ascending:YES
                                                    selector:@selector(localizedCaseInsensitiveCompare:)]];

NSError *error = nil;
AppDelegate* appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

NSArray* data = [appDelegate.dataCenter.document.managedObjectContext executeFetchRequest:request error:&error];
if ( data.count > 0)
{
    self.category = [data objectAtIndex:0];
}

我在导航栏中有一个用于测试目的的按钮。单击后,我将复制第一项并添加到末尾。

Item* item = [self.category.items objectAtIndex:0];

[self.category willChangeValueForKey:@"items"];
NSMutableOrderedSet *tempSet = [NSMutableOrderedSet orderedSetWithOrderedSet:self.category.items];
[tempSet addObject: item];
self.category.items = tempSet;
[self.category didChangeValueForKey:@"items"];

问题是该项目根本没有添加到数据库中。 (我做了一些测试,比如我修改了item内容,证明数据库完全没有问题。)但是我不知道item没有到数据库的原因。有人可以帮忙吗?谢谢


Swift:

let mutableItems = items.mutableCopy() as! NSMutableOrderedSet
mutableItems.addObject(anItem)
items = mutableItems.copy() as! NSOrderedSet

Objective-C:

NSMutableOrderedSet *mutableItems = (NSMutableOrderedSet *)items.mutableCopy;
[mutableItems addObject:anItem];
items = (NSOrderedSet *)mutableItems.copy;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向核心数据的 NSOrderedSet 添加元素? 的相关文章

  • iPhone中的异步for循环

    for循环看起来像这样 我在视图中编写的确实加载了 因此加载此页面需要更多时间 for int i 3 i lt dataDict objectForKey rss objectForKey channel objectForKey ite
  • NSFetchedResultsController 中的部分名称与托管对象值不匹配

    我正在使用 NSFetchedResultsController 用大约 1500 个实体的中等大小的核心数据存储的结果填充 UITableView 结果控制器相当标准 一些潜在错误的 热点 并不适合此设置 在与其使用的同一 主 线程上创建
  • 从另一个选项卡重新加载 UITableView

    我在尝试重新加载时遇到问题UITableView从 XML 源加载的单元格数据 这是场景 应用程序包含选项卡 其中一个选项卡中有一个表格视图 它从 XML 文件获取数据并且工作正常 但问题是当我想要更改提要类别并从另一个选项卡更改 XML
  • RestKit链接器错误

    我一直遵循 RestKit 安装说明 但现在在尝试构建应用程序时出现错误 这是针对 ios iPad 的 我收到 命令 Developer Platforms iPhoneSimulator platform Developer usr b
  • Cocoa 基于文档的应用程序中的 MVC

    我目前正在对我的应用程序进行重构和重组 我意识到模型和视图及其控制器之间的一些分离已经减少 我希望进行一些清理 我的应用程序中使用了几个关键类 NSPersistentDocument NSWindowController 和模型类 NSP
  • 核心数据对多关系。它们是延迟加载吗?

    我在核心数据 适用于 iPhone 中有典型的模型 其中包含部门和员工 部门 gt gt 员工 我不想每次加载时都加载一个部门的所有员工 所以我想将员工创建为获取的属性 我想我可以定义一些像这样的谓词 employee deparmentI
  • 是否为 Core Data 的获取结果控制器实现委托

    实现四种委托方法有什么好处 void controllerWillChangeContent NSFetchedResultsController 控制器 void 控制器 NSFetchedResultsController 控制器 di
  • NSManagedObject 的 Xcode 9 构建问题:Date 与 NSDate

    Xcode 9 生成不同的代码Date模拟器与设备中实体的类型属性 我有codegen功能下Class set to category extension在核心数据中 直到 Xcode 8 3 最新 一切都工作正常 NSDate总是 下面是
  • 如何解决 CoreData mogenerator 未找到问题

    我收到如下所示的错误 我不知道我错过了什么 我该如何解决这个问题 如下图所示 Users nischalhada Documents XcodePro mnepalnews revisited 2 0 CoreData mogenerato
  • 现有的和未输入错误的密钥的 NSUnknownKeyException

    我得到以下输出 Terminating app due to uncaught exception NSUnknownKeyException reason
  • 填充 CoreData 创建的 sqlite 数据库

    我有一个由 CoreData 模型自动创建的 sqlite DB 但我的应用程序不会让用户能够将数据写入其中 而是我想用程序所需的所有数据预先填充它 我的问题是 CoreData 创建的 sqlite DB 具有未知的表和字段 这些表和字段
  • 在 iPhone 上下载、保存和播放 mp3

    我想从某个网站下载 mp3 文件 将其保存到我的 CoreData 模型 AudioMp3 中 然后播放 下面的函数可以工作 但首先 效率低下 因为它必须首先将 mp3 保存到文件 其次 它在接下来的调用次数中重复播放相同的 mp3 我认为
  • 核心数据迁移失败,并显示“找不到源存储的模型”,但存在源的 ManagedObjectModel

    我有一个使用 core data 的可可应用程序 它现在是其托管对象模型的第四个版本 我的托管对象模型包含抽象实体 但到目前为止 我已成功通过创建适当的映射模型并使用 addPersistentStoreWithType configura
  • 在 iOS 中对 Google 地图标记进行聚类

    我有一个基于地图的应用程序 使用 Google 地图的 iOS SDK 我需要在核心数据数据库中存储多达数千个项目 并在地图上用标记显示它们 出于性能和可用性的原因 我需要在用户缩小时对这些标记进行聚类 但我需要确保放置代表性标记 以便用户
  • NSDateComponents 工作日没有显示正确的工作日?

    我得到了一个 NSDate 例如 1 6 12 星期五 并试图找出它是星期几 我的一周从星期一开始 所以星期五应该是工作日 5 NSCalendar calendar NSCalendar alloc initWithCalendarIde
  • 特别分发:应用程序安装失败

    我已经为我尝试分发的应用程序创建了一个临时存档和一个 ipa 文件 我还创建了一个分发配置文件 其中包含我计划将应用程序分发到的设备的 UDID 当我将 ipa 和 mobileprovision 文件拖到 iTunes 中并尝试将应用程序
  • iOS:如何创建核心数据库的备份副本?以及如何导出/导入该副本?

    我想为我的应用程序的用户提供创建核心数据数据库备份的可能性 特别是在他切换到新设备等情况下 我该怎么做呢 特别是如何重新导入该文件 我的意思是 假设他制作了数据库的备份副本 然后更改了大量内容并想要重置为以前保存的备份副本 我该怎么做呢 T
  • 从 Core Data、iOS 获取最后插入的项目

    有没有办法获取核心数据数据库中最后插入的项目 这将返回最后插入的对象 setFetchLimit 1 和 setFetchOffset 所有条目数 1
  • 将子视图发送到后面

    我正在尝试模仿 facebook ios 侧面菜单并让它工作 但是我遇到的问题是我无法将侧面菜单发送到后面 正如另一个问题中所讨论的那样使用 Objective C 的 iphone facebook 侧边菜单 https stackove
  • 从 RemoteIO 录制到 AAC:数据正在写入,但文件无法播放

    我一直在尝试从 iPad 2 上的 iOS 5 中的 renderCallback 中直接从 RemoteIO 单元录制到 AAC 我看到了相互矛盾的信息 说这是不可能的 但这是可能的 在评论中 here http atastypixel

随机推荐

  • 只从套接字接收一个字节

    我使用 python 编写了一个服务器程序 我试图获取一个字符串 但我只得到一个字符 我如何接收字符串 def handleclient connection while True rec connection recv 200 if re
  • 使用可运行的同一实例初始化两个线程

    使用同一个可运行对象实例初始化两个线程是不是不好的编程 使用可运行对象的单独实例进行初始化会有什么区别 并且同一可运行对象实例共享内存位置与性能有什么关系吗 public static void main String args throw
  • NPM-AUDIT 发现高漏洞。我应该做些什么?

    npm audit运行我的项目并得到这个 高指令注入 Angular devkit build Angular dev 的依赖关系 路径 angular devkit build angular gt ngtools webpack gt
  • HTML 嵌套规则到底在哪里? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人可以提供一个包含所有 HTML 最好是 HTML5 嵌套规则的文档的链接吗 例如 你不能把 div
  • 控制台2种颜色晒伤

    我正在尝试使用 Console2 在 Windows 7 电脑上使用 Solarized 颜色 但我无法让颜色正常工作 我尝试按照建议更改 console xml 中的条目here https github com stevenharman
  • 实现 ICollectionViewLiveShaping

    How is ICollectionViewLiveShaping为了过滤的目的而实施 是不是类似 public ICollectionView WorkersEmployed get set WorkersEmployed new Col
  • 如何将SQL Server查询结果的数据转换为JSON格式?

    我刚刚开始了解 Ajax 和 JSON 格式 我正在构建一个非常简单的地址簿 因此 为了简单起见 假设我有一个表有 3 列 Name Email and Phone 我的javascript jquery不是刚学的最好 但我想将从我的SQL
  • 为什么这不起作用?使用鼠标指针推动盒子

    我是 JavaScript 的初学者 试图制作一个简单的脚本 使用鼠标指针推动一个盒子 但不幸的是由于某种原因它不起作用 我希望你能帮助我 这个脚本真的很原始 到现在为止只从左边推动盒子 索引 html
  • 标记为已弃用的第三方类

    我有一些第三方库Foo与类FooBar 我认为那个班级FooBar设计得很糟糕 我想写自己的MyBar作为适配器模式 可以标注原件吗FooBar as Deprecated而不修改其代码 deprecated http download o
  • 从普通的 .aspx 页面启动 ASP MVC 项目

    我有一个在 NET 4 5 上运行的现有 ASP NET 网站 我需要将 ASP MVC 4 项目 它自己的全功能 Web 应用程序 集成到其中 以便当用户导航到某个页面时 ASP MVC 应用程序在该页面内启动 几乎就像在一个iframe
  • 在运行时替换类中的方法调用

    问题我正在使用 Fitnesse 来运行一些自动化测试 有一个名为 TableTable 的类 如果对其进行增强 我可以做一些很酷的事情 我需要做的是改变方法appendInstructions 这个类的 由于 Fitnesse 显式查找
  • WH_MOUSE 和 WH_MOUSE_LL 挂钩之间有哪些区别?

    我发现WH MOUSE并不总是被调用 问题可能是我正在使用WH MOUSE并不是WH MOUSE LL 代码 class MouseHook public static signal
  • 资产被过滤掉并且不会被提供[重复]

    这个问题在这里已经有答案了 资产被过滤掉并且不会被提供 添加Rails application config assets precompile w login js to config initializers assets rb并重新启
  • Oracle sql 查询:动态填充的数据透视表(提前)

    我需要展平一个表 但这里是棘手的部分 列是动态的 并且当添加包含新 ID 的新记录时查询应该可以工作 这是我的工作查询 简化了 IN 这实际上是数百个值 SELECT FROM select qv respnr sq question id
  • 使 WPF ListView/GridView 在列标题单击时排序的最佳方法?

    有lotsInternet 上的解决方案试图填补 WPF 中这个看似非常基本的遗漏 我真的很困惑什么是 最好 的方法 例如 我希望列标题中有小的向上 向下箭头来指示排序方向 显然有 3 种不同的方法可以做到这一点 一些使用代码 一些使用标记
  • 如何选择仅包含“foobar”类的元素,而不选择它是否包含任何其他类?

    我只想选择具有一个类且该类为 foobar 的元素 div class foobar i should be selected div div class foobar ipsum i should not be selected div
  • 使用 XMLHTTPRequest 进行基本身份验证

    我正在尝试使用 XMLHTTPRequest 获取 Twitter 上的更新 var XMLReq new XMLHttpRequest XMLReq open GET http twitter com account verify cre
  • 如何在Python中迭代文件

    我有一个包含一些十六进制数字的文本文件 我正在尝试将其转换为十进制 我可以成功转换它 但似乎在循环存在之前它读取了一些不需要的字符 所以我收到以下错误 Traceback most recent call last File convert
  • 我们如何在Python中读取16个无符号整数(16 uint)jpeg文件

    我们如何在Python中读取16个uint jpeg图像 请建议我可以在 python 中读取这些类型的文件的库 我尝试了 matplotlib scipy scikit image medpy Pil opencv numpy 库 当我们
  • 如何向核心数据的 NSOrderedSet 添加元素?

    我对此做了一些研究post https stackoverflow com questions 7385439 exception thrown in nsorderedset generated accessors 7922993 792