0

我正在使用 sortDescriptor 对我的 NSFetchRequest 结果进行排序。我正在这样做。

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Team"];
    request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"position" ascending:YES]];

位置可以是 4 个值:

  1. 攻击者
  2. 守门员
  3. 边锋
  4. 后卫

目前它对所有位置进行了分组。所以首先是所有的前锋,然后是所有的守门员,然后是所有的后卫,最后是所有的边锋。我现在想要实现的是改变排名的顺序。排名顺序应该是。

  1. 首先是门将
  2. 其次所有的防守者
  3. 第三所有边锋
  4. 最后是所有边锋

有人知道我该怎么做吗?

提前致谢!

4

2 回答 2

2

一种混乱的做法是添加一个额外的整数列来表示每个玩家类型,然后按其排序。

编辑:这不一定是一种“混乱”的方法,因为它可以完成这项工作,但我建议它混乱的唯一原因是因为你必须添加额外的东西才能知道玩家的类型。尽管如此,这是一种合理的方法。

于 2012-10-09T18:57:34.937 回答
0

如果你有一个存储所有对象的关系,你可以准备辅助方法,这些方法将使用 NSSortDescriptors 和准备好的块对 NSSet 中的项目进行排序。或者您可以获取所有对象,然后对它们进行排序。

于 2012-10-09T19:04:11.583 回答