我有一个 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/