0
我想排序我的數據在我的TableView。我有UIButtons IBAction調用排序。
我已經創建了一個包含sortKey的字符串。我設置了鍵並再次調用fetchedResultsController來對tableview進行排序。IBAction排序NSFetchedResultsController
問題是,fetchedResultsController方法未被調用,排序不起作用。
這裏是我的代碼:
- (IBAction) actionSortCardColor:(id) sender {
XLog(@"");
sortString = @"colorOrder";
[self fetchedResultsController];
[self actionRemoveSortView:sender];
}
這裏我fetchedResultsController方法:
- (NSFetchedResultsController *)fetchedResultsController
{
[...]
NSPredicate *inboxPred = [NSPredicate predicateWithFormat:@"archived == 0"];
// Set the batch size to a suitable number.
[fetchRequest setFetchBatchSize:20];
[fetchRequest setPredicate:inboxPred];
XLog(@"sortString: %@", sortString);
if (sortString == nil) {
sortString = [[NSString alloc] initWithString:@"sortingOrder"];
}
NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"setTitle" ascending:YES] autorelease];
NSSortDescriptor *sortDescriptor2 = [[[NSSortDescriptor alloc] initWithKey:sortString ascending:YES] autorelease];
NSArray *sortDescriptors = [[[NSArray alloc] initWithObjects:sortDescriptor, sortDescriptor2, nil] autorelease];
[fetchRequest setSortDescriptors:sortDescriptors];
[...]
}
所以,你的意思是,你已經取得了結果,但他們沒有排序。一旦用戶點擊按鈕,他們應該被排序,並且tableView應該顯示相同的結果,但是以排序的方式。對? – Canopus 2012-02-06 21:03:58
準確。我所做的是,在IBACtion中,我將__fetchedResultsController設置爲零,因此排序正在工作(fetchedResultsController方法進入),但這不是正確的方法。 – brush51 2012-02-07 09:44:33