是否可以使用 Obj-C 运行时获取 NSManagedObject 的实例变量名称?
我正在执行从 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 一起使用?如果没有,是否有替代方法来检索实例变量或其类型(假设您知道其名称)?
谢谢!
I am doing an automatic mapping from XML to NSObject while parsing if the XML nodes names match the NSObject instance variable names. It's done through obj-c runtime easily with (elementName is a XML child node name):
void* ivarValue = nil;
Ivar ivar = object_getInstanceVariable(self, [elementName cStringUsingEncoding:NSUTF8StringEncoding], &ivarValue); // Get the iVar with name 'elementName' from current instance
I tried to do the same with NSManagedObject with no success. Is possible to use objc/runtime.h with Core Data? If not, is there an alternative to retrieve the instance variables or its type (assuming you know its names)?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
检查 NSManagedObject 实体描述 相关属性并使用KVC设置值
Check the NSManagedObject entity description for the relevant properties and use KVC for setting values