gpt4 book ai didi

ios - coredata NSFetchRequest 一对多关系 托管对象上的关系错误

转载 作者:行者123 更新时间:2023-11-28 21:52:45 26 4
gpt4 key购买 nike

我有一个包含以下实体的核心数据项目:

我正在尝试获取基于类别的内容列表:

这是我的核心数据类.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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com