Ios NSManagedObject属性数组

Ios NSManagedObject属性数组,ios,objective-c,cocoa,core-data,key-value-observing,Ios,Objective C,Cocoa,Core Data,Key Value Observing,我想为我的NSManagedObject获取一个属性数组,这样我就可以使用KVO导出它们。我可以手动创建一个数组,然后对其进行迭代,但是,我希望自动获取此列表,然后进行迭代。NSManagedObject具有与其关联的实体。使用的-attributesByName和-relationshipsByName。您将从这些方法中的每一个获得一本词典。只需向dicts索要他们的-所有钥匙谢谢Joshua。下面是我使用的代码,以防任何人想看到一个硬示例: NSString *entityName = NS

我想为我的
NSManagedObject
获取一个属性数组,这样我就可以使用KVO导出它们。我可以手动创建一个数组,然后对其进行迭代,但是,我希望自动获取此列表,然后进行迭代。

NSManagedObject具有与其关联的实体。使用的
-attributesByName
-relationshipsByName
。您将从这些方法中的每一个获得一本词典。只需向dicts索要他们的
-所有钥匙

谢谢Joshua。下面是我使用的代码,以防任何人想看到一个硬示例:

NSString *entityName = NSStringFromClass([myEntity class]);
NSEntityDescription *entityDescription = [self entityDescriptionWithEntityName:entityName];
NSDictionary *attributes = [entityDescription attributesByName];
NSArray *attributeNames = attributes.allKeys;

谢谢Josh,我又加了一个标签。我在4.1 SDK中没有看到AttributeKey。这在iPhone上不可用吗?正确。这就是为什么标记很重要的原因。:-)NSEntityDescription虽然不那么直接,但它的效果已经足够好了。猜测:我提到的NSObject方法似乎严格适用于KVO magic,这在iOS上是不可用的。完美!我不敢相信我忽略了这一点。