代码之家  ›  专栏  ›  技术社区  ›  cpjolicoeur

为获取的结果控制器动态更改排序描述符

  •  4
  • cpjolicoeur  · 技术社区  · 15 年前

    有没有一种方法可以为iOS上获取的结果控制器动态设置排序描述符?

    例如,我需要根据导航标题栏中分段控件的设置将核心数据结果返回给我。用户可以单击分段控件按价格或优先级排序。

    然后,我需要获取的结果控制器返回并显示核心数据信息,这些信息根据分段的控制值被分为多个部分。

    我知道最初如何设置排序描述符,但是我不确定如何动态地更改它/更新它。自从 - (NSFetchedResultsController *)fetchedResultsController 函数是惰性加载的,它是否总是返回第一次通过创建的frc(从而返回初始排序描述符设置)?

    我是否会做一些类似于将分段的控制值存储在sharedreferences中,然后当它被更改时,将我的fetchedResultsController设置为nil,以便生成新的控制值?然后,在fetchedResultsController函数中,我可以基于sharedReferences设置创建SortDescriptor?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Marcus S. Zarra    15 年前

    你可以控制这一切。例如,可以在更新分段控件时释放控制器,并在表上调用reload。这将导致使用新的排序重新生成控制器。

    还有其他的解决方案,但它们取决于你的应用程序设计。