gpt4 book ai didi

ios - NSFetchedResultsController 与来自其他模型的数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:18 25 4
gpt4 key购买 nike

我正在尝试使用来自 NSFetchedResultsController 的数据构建带有 UITableView 的应用程序。问题是 - 我需要在表格 View 中显示其他模型的一些额外数据。

假设我有 2 个模型:学生和小组(我认为关系很明显:小组由许多学生组成,学生只能在一个小组中)。我正在尝试使用组列表构建 UITableView。我还想知道每组的学生人数。

(NSFetchedResultsController *) fetchController {
if (!_fetchController) {
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"GroupModel" inManagedObjectContext:[NSManagedObjectContext MR_defaultContext]];
[fetchRequest setEntity:entity];

NSPredicate *messageInChatPredicate = [GroupModel getMyChatsPredicate];
[fetchRequest setPredicate:messageInChatPredicate];

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];

_fetchController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:[NSManagedObjectContext MR_defaultContext] sectionNameKeyPath:nil cacheName:@"main"];
_fetchController.delegate = self;
}

return _fetchController;
}

我想知道如何添加其他信息(例如每组中的学生人数)?

最佳答案

为什么不直接使用 group.students.countgroup 实体中获取值?你只需要一个 fetchedResultsController,我想你会发现 Core Data 性能很好。

您的术语有点困惑,通常模型是在 Xcode 中创建的核心数据模型,并且具有许多实体,例如小组, 学生.有时您可以使用两个不同的模型和/或模型的不同版本。

您的对象通常被称为实体,并且都属于同一个核心数据模型。

编辑:要获取子组的数量,例如女孩或男孩,您可以执行以下操作

NSMutableArray *boys = [[NSMutableArray alloc] init];
[NSPredicate predicateWithFormat:@"gender = %@",@"MALE"];
[boys addObjectsFromArray:[group.students filteredArrayUsingPredicate:predicate]];
NSLog(@" boys count is %d", boys.count);

当然假设 genderStudent 的一个属性。

关于ios - NSFetchedResultsController 与来自其他模型的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21231040/

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