objective-c - 获取 NSManagedObject 的属性作为 NSDictionary

标签 objective-c ios core-data

如果我有一个从上下文中获取的 NSManagedObject,我如何才能从它的动态属性中创建一个 NSDictionary,而不只是将每个字段显式复制到字典中?

如果我的托管对象看起来像这样,例如:

@implementation Track

@dynamic artist;
@dynamic group;
@dynamic purchase_url;
@dynamic title;
@dynamic file_name;
@dynamic year;

@end

在从数据库获取数据后,在这种情况下,我需要一个 NSDictionary,其中每个 @dynamic 属性都设置了相同的属性。

最佳答案

有一种更快的方法可以将 NSManagedObject 转换为 NSDictionary(来自 Matthias Bauchhttps://stackoverflow.com/a/5664745/2294824 的响应):

NSArray *keys = [[[myObject entity] attributesByName] allKeys];
NSDictionary *dict = [myObject dictionaryWithValuesForKeys:keys];

关于objective-c - 获取 NSManagedObject 的属性作为 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10341515/

相关文章:

objective-c - 在 UIWebView (IOS 5) 中更改用户代理

objective-c - 创建自定义标签栏

objective-c - iOS:CFRunLoopRun() 函数困惑

cocoa - 核心数据: Updating max pk failed

ios - 从右向左滑动手指,反之亦然 :-)

iphone - 如何找出一个人的手指何时离开屏幕?

ios - 通过 GameKit 将游戏数据保存到 iCloud

ios - 插入动画和绑定(bind)

ios - 映射到核心数据(命名不一致的 Web API)

objective-c - 核心数据删除规则