0

假设我有一个名为“Coffee Mug”的表,并且与许多类型的“coffee”有关系。

我可以访问 Coffee Mug 记录及其所有详细信息,但是当我尝试通过关系获取咖啡类型时,我只获取指针值。

我正在尝试创建一个这样的咖啡值数组:

self.coffeeTypeArray = [[NSMutableArray alloc] initWithArray:[coffeeMug.coffee allObjects]];
NSLog(@"Filled Array with: %i records", [self.coffeeTypeArray count]);
NSLog(@"Array contents: %@", self.coffeeTypeArray);

我的日志显示该数组填充了 5 个对象。但是,对于每条记录,我得到的不是我正在寻找的字符串:

"<CoffeeTypes: 0x7f460b0> (entity: Coffees; id: 0x7f46100 <x-coredata:///Coffees/t113639D7-6BA1-4FDB-9739-7781EE6460134> ; data: {\n    mug = \"0x7f40370 <x-coredata:///coffeeMugs/t113639D7-6BA1-4FDB-9739-7781EE6460132>\";\n    coffee = Columbian;\n})"

我知道答案必须很简单,但我已经用完了搜索词。

4

1 回答 1

1

您在数组中看到的是“咖啡”实体的托管对象。该实体有一个coffee似乎是您正在寻找的属性。

以下应该可以打印coffee数组中所有对象的属性:

for (CoffeeTypes *theCoffee in self.coffeeTypeArray) {
    NSLog(@"%@", theCoffee.coffee);
}

注意:也许您应该重新考虑实体和关系的命名。您的“咖啡”实体代表(据我所知)一种咖啡,因此“咖啡”(不带复数 s)将是一个更好的名称。另一方面,从“CoffeeMugs”到“Coffees”的一对多关系称为“coffee”。在这里,“咖啡”(带有复数 s)将是该关系的更好名称。

于 2012-09-01T07:36:19.610 回答