【问题标题】:Is there a way to retrieve a set or array of keys for a given NSManagedObject?有没有办法为给定的 NSManagedObject 检索一组或一组键?
【发布时间】:2010-11-24 21:11:59
【问题描述】:
对于任何给定的 NSManagedObject,是否有任何方法可以返回该特定 NSManagedObject 的一组或一组键(属性名称)?我尝试在 NSObject 和 NSManagedObject 文档中四处寻找,但一无所获。我需要像 NSDictionary 'allKeys' 这样的功能,即。
myArrayOfKeys = [myDict allKeys]
我认为必须有一种更简单的方法来处理大量属性,例如。遍历一个键数组。
【问题讨论】:
标签:
iphone
objective-c
core-data
【解决方案2】:
我根据 James 的建议编写了以下内容,并认为这可能对其他人解决他们的代码问题并使用他的答案有用;谢谢詹姆斯!
// 来自 Apple 的 Master Detail 模板项目
- (void)insertNewObject:(id)sender
{
//! Apple standard template code
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
//! Slowburner addition to view the managedObject's keys
NSEntityDescription *attDesc = [newManagedObject entity];
NSDictionary *attributesByName = [attDesc attributesByName];
NSLog(@"Names:%@",[attributesByName allKeys]);
//! shortcut to avoid whatever problem you're troubleshooting
return;