gpt4 book ai didi

ios - 如何对基于 View 的表格 View 进行排序

转载 作者:行者123 更新时间:2023-11-29 04:06:11 26 4
gpt4 key购买 nike

我无法对基于 View 的表格 View 进行排序。我使用一个 arrayController 来控制核心数据的实体。

我尝试选择一列,在属性检查器中,我使用相对于该列的属性名称作为排序键,并比较:作为选择器...当我构建并运行时,我单击标题,现在显示每次点击都会改变箭头,但行没有任何反应。没有排序。

如何解决?
我想我错过了一些简单的事情,但我无法克服它。

最佳答案

您可能需要考虑使用NSFetchedResultsController。来自 NSFetchedResultsController 的 Apple 文档,

You use a fetched results controller to efficiently manage the results returned from a Core Data fetch request to provide data for a UITableView object.

代码如下所示,其中提供排序描述符的行以 NSSortDescriptor 开头。

- (NSFetchedResultsController *)fetchedResultsController
{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"YourEntityName"
inManagedObjectContext:yourManagedObjectContext];
[fetchRequest setEntity:entity];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"YourSortKey"
ascending:YES];

NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];

NSError *error = nil;
NSArray *fetchedObjects = [yourManagedObjectContext executeFetchRequest:fetchRequest
error:&error];
if (fetchedObjects == nil) {
// Handle the error
}

yourFetchedResultsController = [[NSFetchedResultsController alloc]
initWithFetchRequest:fetchRequest
managedObjectContext:self.managedObjectContext
sectionNameKeyPath:nil
cacheName:nil];

return yourFetchedResultsController;
}

关于ios - 如何对基于 View 的表格 View 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15177289/

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