Создание экземпляра внутреннего класса

Я работаю над примером проблемы замены hashCode и метода equals, но получаю сообщение об ошибке: « Нет доступных экземпляров типа CustomHashCodeExample. Должен квалифицировать выделение с помощью включающего экземпляра типа CustomHashCodeExample (например, xnew A (), где x - это экземпляр CustomHashCodeExample). " для данной недели и хочу отображать их в UITableView с разбивкой по одному разделу на день недели.

Проблема заключается в том, что мне нужно отображать 7 разделов для каждого дня недели (отображается сообщение «Нет заказов 'ячейка, в которой раздел / дата не имеют бронирований).

У меня есть скриншот приложения в его нынешнем виде здесь (извините, я пока не могу публиковать изображения, так как я новичок в StackOverlow)

На данный момент я достигаю этого с помощью метода 'fetchResults', который получает заказы и упорядочивает их по массиву возможных дат:

- (void)refetchResults {    

// Drop bookings Array, replacing with new empty one
// 7 slots for 7 days each holding mutable array to recieve bookings where appropraite
self.bookings = [NSArray arrayWithObjects:[NSMutableArray array],
                  [NSMutableArray array], [NSMutableArray array],
                  [NSMutableArray array], [NSMutableArray array],
                  [NSMutableArray array], [NSMutableArray array], nil];

// Create the fetch request for the entity.
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Booking" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];

// Limit to this weeks data
[fetchRequest setPredicate:
 [NSPredicate predicateWithFormat:@"(date >= %@) && (date <= %@) && (resource == %@)",
  firstDate,lastDate,resourceId]];

// Edit the sort key as appropriate.
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES];
NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"recId" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, sortDescriptor2, nil];
[fetchRequest setSortDescriptors:sortDescriptors];

// Fetch records in to array
NSError *error;
NSArray *results = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
if (results == nil) {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

[fetchRequest release];
[sortDescriptor release];
[sortDescriptor2 release];
[sortDescriptors release];

// Walk through records and place in bookings Array as required
for (Booking *item in results) {
    // Decide on array index by difference in firstDate and booking date
    int idx = (int)[[item date] timeIntervalSinceDate:firstDate]/86400;
    // Add the item to the approp MutArray
    [(NSMutableArray *)[bookings objectAtIndex:idx] addObject:item];
}

// Reload table
[tableView reloadData];

}

Мой вопрос: есть ли способ добиться тот же результат с использованием NSFetchedResultsController? Каким-то образом мне нужно было заставить NSFetchedResultsController иметь 7 разделов, по одному на каждый день недели, некоторые из них, возможно, не имеют бронирований.

Любая помощь очень ценится :)

6
задан Paul80nd 1 November 2010 в 16:14
поделиться