我有一个包含以下实体的核心数据项目:
我正在尝试获取基于类别的内容列表:
这是我的核心数据类.h:
@interface Content : NSManagedObject
@property (nonatomic, retain) NSString * contenido;
@property (nonatomic, retain) NSNumber * index;
@property (nonatomic, retain) NSString * titulo;
@property (nonatomic, retain) NSNumber * uploadCloudKit;
@property (nonatomic, retain) Categories *category;
---
@class Content;
@interface Categories : NSManagedObject
@property (nonatomic, retain) NSString * categoryName;
@property (nonatomic, retain) NSSet *content;
@end
NSEntityDescription *categoryDescription = [ NSEntityDescription entityForName:@"Categories" inManagedObjectContext:moc];
NSFetchRequest *categoRequest = [NSFetchRequest new];
categoRequest.entity = categoryDescription;
NSPredicate *categoPredicate = [NSPredicate predicateWithFormat:@"categoryName like %@", category];
categoRequest.predicate = categoPredicate;
NSArray *results = [moc executeFetchRequest:categoRequest error:&error];
但是当我尝试访问该类别的结果内容时,我得到:
po [results valueForKey:@"content"]
<__NSArrayI 0x6080000243a0>(
Relationship 'content' fault on managed object (0x6080000a2220) <Categories: 0x6080000a2220> (entity: Categories; id: 0x40002b <x-coredata://FDBA3FB2-F1F8-498E-9071-3A5D1ABE66F0/Categories/p1> ; data: {
categoryName = movies;
content = "<relationship fault: 0x610000030fa0 'content'>";
})
)
你们谁知道我怎样才能得到结果的内容项?
非常感谢你的帮助
最佳答案
这是 CoreData 的正常行为。你应该阅读 Apple Documentation .在那里您可以阅读有关 CoreData 的故障对象的信息。用两个词来说 - 错误意味着 CoreData 有这个对象但知道(出于某种原因 CoreData 不会打印对象的所有字段)。 要查看所有字段,您应该这样做:
[categoRequest setReturnsObjectsAsFaults:NO];
但我建议你只在调试时这样做,因为 CoreData 更聪明并且知道如何处理内存管理)
关于ios - coredata NSFetchRequest 一对多关系 托管对象上的关系错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27709273/