段控制中的所有五个选项都使用相同的实体来获取数据。
目前,我有一个fetch控制器,每当段控制中的值发生变化时,我都会使用不同的谓词从相同的实体中获取数据,然后用新数据重新装入该表。
我正在寻找优化这一点。我做的是正确的方式,还是正确的方式?
在adv中谢谢。
发布于 2012-02-06 22:38:37
你能发布一些代码片段吗?
如果您已经获取了一组MangedObjcts,则可以使用排序描述器sortedArrayUsingDescriptors对NSArray重新排序
- (NSArray *)sortedArrayUsingDescriptors:(NSArray *)sortDescriptors发布于 2012-02-06 23:50:44
如果您只获取少量的NSManagedObjects,那么可能没有太多的优化要做。CoreData及其对应的类(比如您正在使用的FetchResultsController,它被设计成特别适合与UITableViews配合使用)为您完成了大部分繁重的工作。
关于在升序和降序之间更改排序顺序的最佳方法;这是由以下内容决定的:
NSSortDescriptor *sorter = [[NSSortDescriptor alloc] initWithKey:@"someEntityProperty" ascending:YES/NO];如果将ascending设置为YES,您将在您提供的键上重新排序NSManagedObjects (从最小到最大的升序)。如果您将其设置为NO,您将使它们从大到小(降序)返回。
https://stackoverflow.com/questions/9161713
复制相似问题