0

「CoffeeMug」という名前のテーブルと、さまざまな種類の「コーヒー」との関係があるとします。

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

配列に表示されるのは、「Coffees」エンティティの管理対象オブジェクトです。エンティティには、coffee探しているものと思われる属性があります。

coffee配列内のすべてのオブジェクトの属性を出力するには、次のように機能する必要があります。

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

注:おそらく、エンティティと関係の命名を再検討する必要があります。あなたの「Coffees」エンティティは(私が理解しているように)1種類のコーヒーを表しているので、「Coffee」(複数形なし)の方が適切な名前になります。一方、「CoffeeMugs」から「Coffees」への1対多の関係は「コーヒー」と呼ばれます。ここでは、「コーヒー」(複数形)がその関係のより良い名前になります。

于 2012-09-01T07:36:19.610 に答える