是否可以使用Obj-C运行时获取NSManagedObject的实例变量名称?

时间:2011-11-04 16:59:23

标签: ios core-data objective-c-runtime

我正在解析XML节点名称是否与NSObject实例变量名称匹配时,从XML到NSObject的自动映射。它通过obj-c运行时很容易完成(elementName是一个XML子节点名):

    void* ivarValue = nil;
    Ivar ivar = object_getInstanceVariable(self, [elementName cStringUsingEncoding:NSUTF8StringEncoding], &ivarValue);   // Get the iVar with name 'elementName' from current instance

我尝试对NSManagedObject执行相同的操作但没有成功。是否可以将objc / runtime.h与Core Data一起使用?如果没有,是否有替代方法来检索实例变量或其类型(假设您知道它的名称)?

谢谢!

1 个答案:

答案 0 :(得分:1)

检查NSManagedObject entity description以获取相关属性,并使用KVC设置值