gpt4 book ai didi

ios - 使用谓词在 TableView 中为单个实体分组 NSFetchedResults

转载 作者:行者123 更新时间:2023-11-28 22:29:40 25 4
gpt4 key购买 nike

我有一个表格,显示我可以“ping”的用户。它应该看起来像这样:

Best Friends (section name in tableview)
- User A - ping button
- User D - ping button
Friends (section name in tableview)
- User B - ping button
- User C - ping button
- User F - ping button
Pinged friends (section name in tableview)
- User E
- User G

该表基本上显示了我的所有用户(相同的核心数据实体),但以一种分组的方式。我正在使用(或者至少我认为我应该使用)nsfetchedresultscontroller,因为当您单击第一部分中的 Ping 按钮时应该会发生动态变化。我想要的行为是这样的:

  1. 用户点击第一部分“用户 A”行中的“ping 按钮”
  2. ping 按钮消失,当我收到服务器响应时,它会动画显示到“被 Ping 的 friend ”部分。最好在下面的部分使用动画,但它也可以是在最后一部分淡入第一部分的简单淡出。

第 1 部分显示尚未被 ping 的“最好的 friend ”列表。该顺序基于您对某人执行 ping 操作的次数和他们的姓名(我已经有一个计数器)。这显示了最后 X 个用户。

in pseudo SQL : WHERE pinged = false AND numberOfPing >= 10 ORDER BY name ASC LIMIT 5

第二部分按字母顺序显示我所有不在第一部分或最后一部分的 friend 。

in pseudo SQL : AND numberOfPing < 10 AND pinged = false ORDER BY name ASC

第三部分显示了我所有已经被 ping 过的 friend 。

in pseudo SQL : WHERE pinged = true ORDER BY name ASC

问题:

NSFetchedResultsController 是处理这个问题的正确方法吗?到目前为止,我已经在其他 tableviews 上取得了成功,我喜欢它可以产生的“自动”动画。

然后我应该只使用一个 fetchRequest,对吗?但是我找不到任何合适的例子来接近我正在寻找的行为。根据这三个标准进行分组。

非常感谢任何帮助。

最佳答案

FRC 不产生动画,它所做的“全部”(在我们正在讨论的上下文中)是观察托管对象上下文的变化并告诉您(作为委托(delegate))发生了什么。它是委托(delegate)方法实现,它告诉 TableView 要执行什么动画。因此,不需要 FRC 来实现您想要的动画。

正如您所说,您想要的排序方式和您将拥有的部分很难通过 FRC 实现。触发动画的用户操作是通过您的 Controller 无论如何都会处理的按钮。因此,在这种情况下最好不要使用 FRC。

您可以为表格的每个部分使用不同的 FRC。如果您希望任何部分有很多行(这样您就可以利用 FRC 分页),这只会真正有益。

关于ios - 使用谓词在 TableView 中为单个实体分组 NSFetchedResults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17796973/

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