【发布时间】:2013-12-21 17:39:47
【问题描述】:
我正在为 CoreData 苦苦挣扎。我想获取以下对象:
@interface Email : NSManagedObject {
}
@property (nonatomic, copy) NSString *email;
@property (nonatomic, copy) NSString *contact;
@end
..并将结果放在 NSMutableArray 中,但将 NSString 内容(不是 NSManagedObjects!)。这是因为我使用的是 json-framework 并且该引擎不允许传递 NSManagedObjects。
这些行 fetch perfom 从 CoreData 获取
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Emails" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObject:@"email"]];
NSError *error = nil;
NSMutableArray *fetchedObjects = [[NSMutableArray alloc] init];
fetchedObjects= [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
flight.emails=fetchedObjects;
'flight' 对象声明如下:
@interface Flight : NSObject {
NSMutableArray *_emails;
}
@property (nonatomic, retain) NSMutableArray *emails;
使用此代码,我遇到了 CoreData 错误。我尝试了一些其他的实现变体,但从未真正设法在 flight.emails 中有 NSString 对象,但总是 NSManagedObjects。我尝试的是在电子邮件 NSManagedObject 中实现一个专用的 getter 函数,该函数复制获取的 NSString 并返回副本。
我知道这是一个常见问题,但是,我的研究并没有在这里找到解决方案。
谢谢, 彼得
【问题讨论】:
标签: ios nsmanagedobject