ios - 如何通过核心数据代码进行过滤

标签 ios objective-c xcode core-data

我有一个 TableView ,用户可以在其中添加内容并将其保存在核心数据中。他们添加了鱼、 pig 肉、麸质或任何对它们过敏的成分。每当他们将此数据添加到 TableView 时,我都会保存数据。然后,当他们转到另一个页面时,我试图访问包含数据的那个数组。我像这样获取数据:

  NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"AllergicIngredient"];
matchAgainstArray = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];

当我使用 NSLog "matchAgainstArray"时,控制台返回:

"<AllergicIngredient: 0x1667c5f0> (entity: AllergicIngredient; id: 0x1667c3a0 <x-coredata://3845687F-8AAC-48FF-BB0F-8026A7771A3E/AllergicIngredient/p1> ; data: <fault>)",
"<AllergicIngredient: 0x1667ca50> (entity: AllergicIngredient; id: 0x1667c3b0 <x-coredata://3845687F-8AAC-48FF-BB0F-8026A7771A3E/AllergicIngredient/p2> ; data: <fault>)",
"<AllergicIngredient: 0x1667ca90> (entity: AllergicIngredient; id: 0x1667c3c0 <x-coredata://3845687F-8AAC-48FF-BB0F-8026A7771A3E/AllergicIngredient/p3> ; data: <fault>)",
"<AllergicIngredient: 0x1667cae0> (entity: AllergicIngredient; id: 0x1667c3d0 <x-coredata://3845687F-8AAC-48FF-BB0F-8026A7771A3E/AllergicIngredient/p4> ; data: <fault>)",
"<AllergicIngredient: 0x1667cb20> (entity: AllergicIngredient; id: 0x1667c3e0 <x-coredata://3845687F-8AAC-48FF-BB0F-8026A7771A3E/AllergicIngredient/p5> ; data: <fault>)"

)

我保存了 5 个项目的核心数据是正确的,但我想要项目的名称,而不是这一团乱七八糟的数据。

所以我的问题是,我怎样才能通过这个过滤来获取名称?

最佳答案

那些“困惑的数据 block ”是实体本身(即,在 Core Data 中建模的对象的实例)。

如果您想要项目的名称,只需访问每个项目的 name 属性(或您在设计模型时所称的任何名称)。

关于ios - 如何通过核心数据代码进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26049729/

相关文章:

ios - UIPickerView 未正确显示数据(仅显示 "?")

objective-c - iOS, objective-c 在一开始就抛出异常

swift - 如何从 Firebase 获取图像并将其显示为 ImageView ?

ios - 当我尝试在 Xcode 中重构时,会出现将文件添加到此工作区中目标的构建阶段的警告

ios - xcode 捕获异常 NSRangeException

ios - 如何在 UIKit 中调试谁在吃我的触摸?

ios - 为点击手势和通知声明函数时是否需要参数/参数?

objective-c - 触摸开始没有响应

ios - 如何根据 UIDatePicker 语言设置 NSDateFormatter

ios - 使用现有数组中的字典创建一个新数组(提取特定的键值路径)