gpt4 book ai didi

ios - Fetch 从一对多关系对象中不返回任何内容

转载 作者:行者123 更新时间:2023-11-29 04:09:34 25 4
gpt4 key购买 nike

我有两个对象设置为以下关系:

新闻<->>链接

Link 包含两个属性,其中一个是 URL,另一个是一些关联文本。我最初创建了新闻并用信息填充它:

NSManagedObject *newsData = [NSEntityDescription
insertNewObjectForEntityForName:@"News"
inManagedObjectContext:context];
[newsData setValue:[object objectForKey:@"username"] forKey:@"username"];
[newsData setValue:message forKey:@"content"];
[newsData setValue:[object objectForKey:@"when"] forKey:@"date"];
[newsData setValue:imgUrl forKey:@"img"];

NSMutableSet *links = [launchTicker mutableSetValueForKey:@"links"];

然后在 for 循环内,我创建一个链接:

NSManagedObject *linkInfo = [NSEntityDescription
insertNewObjectForEntityForName:@"Link"
inManagedObjectContext:context];
[linkInfo setValue:[object objectForKey:@"id"] forKey:@"id"];
[linkInfo setValue:[[item firstChild] content] forKey:@"text"];
[linkInfo setValue:[[item attributes] valueForKey:@"href"] forKey:@"url"];
[links addObject:linkInfo];

for循环完成后,我将我创建的Link集合放入News对象中:

[newsData setValue:links forKey:@"links"];

当我获取数据时,我可以很好地获取新闻信息,但是当我获取链接时,我什么也没有得到:

for (NSManagedObject *info in fetchedObjects) {

[fetchRequest setReturnsObjectsAsFaults:NO];
[fetchRequest setRelationshipKeyPathsForPrefetching:[NSArray arrayWithObjects:@"links", nil]];

NSMutableArray *url = [[NSMutableArray alloc] init];
NSMutableArray *text = [[NSMutableArray alloc] init];

NSSet* links = [info valueForKey:@"links"];
NSArray *arrayLinks = [links allObjects];

for(NSManagedObject *link in arrayLinks) {
[url addObject:[link valueForKeyPath:@"url"]];
[text addObject:[link valueForKeyPath:@"text"]];
}

任何人都可以深入了解为什么我在尝试访问相关对象时返回 0 个对象吗?

最佳答案

为什么不直接使用

NSSet *setOfLinks = newsObject.links;

关于ios - Fetch 从一对多关系对象中不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14631211/

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