Core data 如何检查哪个类从NSAttributeDescription变量声明属性?

Core data 如何检查哪个类从NSAttributeDescription变量声明属性?,core-data,Core Data,MyClassA继承自NSManagedObject MyClassB继承自MyClassA MyClassA有一个属性,我们称之为classAProp MyClassB有一个属性,我们称之为classBProp 我有一个MyClassB的实例,MyClassB。我希望像这样循环此实例的托管属性: [myClassB.entity.attributesByName enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSAttributeDesc

MyClassA继承自NSManagedObject

MyClassB继承自MyClassA

MyClassA有一个属性,我们称之为classAProp

MyClassB有一个属性,我们称之为classBProp

我有一个MyClassB的实例,MyClassB。我希望像这样循环此实例的托管属性:

[myClassB.entity.attributesByName enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSAttributeDescription *attribute, BOOL *stop) {}]}
所以在这个块中,对于每个属性(classAProp和classBProp),我如何检查MyClassA或MyClassB是否声明了这些属性

在块中,如果我查看[attribute description],我会看到如下内容:

Proxy for prop named classAProp on ed MyClassB, real (<NSAttributeDescription: 0x7fce49536be0>), name classAProp, isOptional 0, isTransient 0, entity MyClassA, renamingIdentifier classAProp, validation predicates (
), warnings (
), versionHashModifier (null)
 userInfo {
}, attributeType 800 , attributeValueClassName NSNumber, defaultValue 1
ed MyClassB上名为classAProp的prop的代理,实数(),名称classAProp,isOptional 0,isTransient 0,实体MyClassA,重命名标识符classAProp,验证谓词( ),警告( ),versionHashModifier(null) 用户信息{ },attributeType 800,attributeValueClassName NSNumber,默认值1
从内部看,似乎可以访问声明类,但我自己似乎找不到访问它的方法。

我解决这一问题的方法是创建MyClassA的NSEntityDescription实例,然后对照

[classADescription.attributesByName.allKeys containsObject:theKey];

这样,我就可以过滤出MyClassA实现的属性,这是我的目标。

我只能通过NSEntityDescription的内部变量
\u properties
访问这些信息。也就是说,
[entityDescriptionB valueForKeyPath:@“_properties”]
将只包含一个条目–
classBProp
。不幸的是,使用标准框架的内部变量对AppStore不是很好,当然,您知道这一点。