cpj*_*eur 5 iphone core-data objective-c nsfetchedresultscontroller
有没有办法在 iOS 上为获取的结果控制器动态设置排序描述符?
例如,我需要根据导航标题栏中分段控件的设置对返回给我的核心数据结果进行排序。用户可以单击分段控件以按价格或优先级排序。
然后,我需要获取的结果控制器返回并显示基于该分段控制值分类为部分的核心数据信息。
我知道最初如何设置排序描述符,但我不确定如何动态更改/更新它。由于该- (NSFetchedResultsController *)fetchedResultsController函数是延迟加载的,它是否总是只返回第一次创建的 frc(从而返回初始排序描述符设置)?
我会做一些事情,比如将分段控件值存储在 sharedPreferences 中,然后在更改时,将我的 fetchedResultsController 设置为 nil 以便生成一个新的?然后在 fetchedResultsController 函数中,我可以根据该 sharedPreferences 设置创建我的 sortDescriptor 吗?
您可以掌控一切。例如,您可以在更新分段控件时释放控制器并在表上调用重新加载。这将导致控制器使用新的排序进行重建。
还有其他解决方案,但它们取决于您的应用程序设计。