相关疑难解决方法(0)

更改为NSFetchedResultsController后,UITableView不更新DataSource

我有一个UITableView人口NSFetchedResultsController.初始提取工作正常.我可以添加,删除,修改等零问题.但我想在表中添加用户定义的排序.我这样做是通过改变NSFetchedResultsController使用不同的sortDescriptor设置和不同的设置sectionNameKeyPath.这是我更改提取的代码:

-(void)changeFetchData {
    fetchedResultsController = nil;

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Object" inManagedObjectContext:managedObjectContext];
    [fetchRequest setEntity:entity];

    NSString *sortKey = @"sortKey";
    NSString *cacheName = @"myNewCache";
    BOOL ascending = YES;

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:sortKey ascending:ascending];
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
    [fetchRequest setSortDescriptors:sortDescriptors];

    NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:sortKey cacheName:nil];
    self.fetchedResultsController = aFetchedResultsController;
    fetchedResultsController.delegate = self;

    [aFetchedResultsController release];
    [fetchRequest release];
    [sortDescriptor release];
    [sortDescriptors …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uitableview nsfetchedresultscontroller nsfetchrequest

5
推荐指数
1
解决办法
3680
查看次数