当前位置: 首页 > 知识库问答 >
问题:

使用NSMutableSet填充TableView

壤驷敏学
2023-03-14

我正在使用核心数据,并试图用NSMutableSet来填充UITableView。我有两个实体,团队和球员。在我的addTeamsController上,我正在为球队保存一名球员,如下所示

-(void)saveButtonWasPressed {
    self.team =[NSEntityDescription insertNewObjectForEntityForName:@"Team" inManagedObjectContext:self.managedObjectContext];

    Player *newPlayer = (Player *)[NSEntityDescription insertNewObjectForEntityForName:@"Player" 
                                                                inManagedObjectContext:self.managedObjectContext];
    team.schoolName = _schoolName.text;
    team.teamName = _teamName.text;
    team.teamID = _teamName.text;
    team.season =  _season.text;
    team.headCoach = _headCoach.text;
    team.astCoach = _assistantCoach.text;


    [self.team addPlayers:_tempSet];

    [self.managedObjectContext save:nil];
    [self.navigationController popViewControllerAnimated:YES];    
}

在另一个viewController上,我试图用团队成员填充一个tableview。为了做到这一点,我做了如下工作

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"firstName" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
_array = [[_team.players allObjects] sortedArrayUsingDescriptors:sortDescriptors];

然后在我的行和索引路径单元格中,我执行以下操作

    cell.textLabel.text = [_array objectAtIndex:indexPath.row];

我得到了错误

[Player  isEqualToString:]: unrecognized selector sent to instance

我想知道填充按玩家名字排序的tableview的最佳方法是什么。

共有1个答案

曾景龙
2023-03-14

从核心数据存储填充表的最佳方法是使用NSFetchedResultController。但这并不能解决您的问题,问题是您试图设置单元格。文本标签。文本到一个不起作用的NSManagedObject。您可以设置

cell.textLabel.text = Player.someStringAttribute
 类似资料:
  • 我在互联网上找不到正确的答案,如何用ObservableMap作为MapProperty填充tableviw。我想在按值排序的tableview中显示文章。

  • /views/fornecedor/ordersearch.xhtml@34,84 value=“#{order.id}”:类“java.util.HashSet”没有属性“id”。 和:

  • 格式 jsTree需要特定的格式才能使用JSON。在标准语法中,不需要任何字段-仅传递您需要的内容。请记住,您将能够访问您指定的任何其他属性-jsTree不会触及它们,以后您将能够使用它们(original在每个节点上使用该属性)。 要更改节点的图标,请使用icon属性。指定包含的字符串/将显示该图像作为节点图标。使用任何其他字符串将把该类<i>应用于用于表示图标的元素。您可以使用布尔值false

  • 基本标记 jsTree 可以将常规无序列表变成树。所需的最小标记是一个<ul>带有嵌套<li>节点的节点,其中嵌套了一些文本。 您应该有一个包装的容器,<ul>并在该容器上创建实例。像这样: $('#html1').jstree();. <div id="html1"> <ul> <li>根节点 1</li> <li>根节点 2</li> </ul> </div>

  • 问题内容: 我的Android应用程序需要使用中填充ListView数据ArrayList。 我这样做很麻烦。有人可以帮我提供代码吗? 问题答案: 你需要通过进行操作,以使ArrayList(或任何其他集合)适应布局中的项目(ListView,Spinner等)。 这是Android开发人员指南所说的: 一个管理任意对象数组支持的。默认情况下,此类期望提供的资源ID引用单个。如果要使用更复杂的布局

  • 问题内容: 如何用对象类型的列表中的值填充JTable。我的代码如下所示: 我已经有了列,列表将来自schedule变量?考虑这些列,如何将其放到表中? 问题答案: 看一下DefaultTableModel。您可以遍历List并为每一行创建Object数组。