NSArrayController
IB の 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
して必要な情報を取得することだと思います。
何か案は?