gpt4 book ai didi

ios - 将 NSSet 中的项目添加到 UITableView(将 NSSet 转换为多个数组?)

转载 作者:行者123 更新时间:2023-11-29 03:50:26 25 4
gpt4 key购买 nike

我有一个 UITableView,它通过以下方式添加核心数据中的信息:

  1. 标题中添加了各种名称的“类别”
  2. 与类别相对应的名称应加载到类别下方的单元格中

现在,我的标题加载了正确的名称以及添加的正确数量的节和行。但是 - Core Data 的结果作为 NSSet 返回,因此我无法根据 indexPath.row 将每个名称添加到单元格中。

有什么建议吗?供引用:

cell.textLabel.text = [NSString stringWithFormat:@"%@",[[[dataToUse objectAtIndex:indexPath.section]valueForKey:@"heldBy"]valueForKey:@"name"]];

将适当的名称集返回到相应部分的每个单元格,但它会返回每个单元格的整个名称集。我只想根据每个名称所属的行来添加每个名称。我可以通过将 NSSet 转换为数组来解决这个问题,但由于创建了多个集合(因为有多个类别),我不知道如何做到这一点。

编辑:我通过执行以下操作解决了问题,但我仍然有兴趣知道最好的做法是什么。

NSSet *daset = [[dataToUse objectAtIndex:indexPath.section]valueForKey:@"heldBy"];
NSMutableArray *addToLabel = [[NSMutableArray alloc]init];
int i = 0;
for(NSSet *contact in daset) {
[addToLabel insertObject:[contact valueForKey:@"name"] atIndex:i];
NSLog(@"%@",addToLabel);
i++;
}
cell.textLabel.text = [NSString stringWithFormat:@"%@",[addToLabel objectAtIndex:indexPath.row]];

最佳答案

使用NSFetchedResultsController

它的设计正是为了满足您的需求。对于像您这样简单的情况,您只需要根据模型关系将数据组织成多个部分,它将通过自动管理获取、编辑、缓存等来减轻您肩上的大量负担。您可以找到 a nice tutorial here当然还有official documentation here .

关于ios - 将 NSSet 中的项目添加到 UITableView(将 NSSet 转换为多个数组?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17140121/

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