0

NSArrayControllerIB の moc にバインドされている「objController」が与えられた場合、次のように動作するべきではありませんか? そして、それが機能していないように見えるので、エンティティの名前を my から取得するにはどうすればよいNSArrayControllerですか?

for (NSManagedObject *thisObj in [objController arrangedObjects]) 
{
    NSEntityDescription *description = [thisObj entity];
    NSString *entityName = [description name];
    // do something with entityName...
    NSString *entityAttributeValue = [thisObj valueForKey:@"attributeKey"];
    // do something with entityAttributeValue...
}

「objController」は IBOutlet 化され、「エンティティ名」モードに設定され、エンティティ名はモデルで定義されたエンティティに設定されます。このエンティティには子エンティティがあります (したがって、多くの異なる子エンティティ タイプを格納できるため、説明名にアクセスしたい理由ですNSArrayController) が、子エンティティの存在はとにかく違いを生むようには見えません。

...デバッガーでは、「説明」は有効なNSEntityDescriptionオブジェクトのように見えますが、「エンティティ名」は_PFEncodedStringオブジェクトに設定され、コンテンツはありません。ただし、「entityAttributeValue」は問題なく、Core Data に格納されている正しい値が入力されています。

これを回避する 1 つの方法は、すべての CD エンティティをカスタム クラス化し、 - を使用isKindOfClassして必要な情報を取得することだと思います。

何か案は?

4

1 に答える 1

1

_PFEncodedStringはの(プライベート)具象サブクラスであるNSStringため、他のと同じように使用できますNSString

于 2012-09-04T21:55:43.870 に答える