iOS Dividing UITableView into sections by Core Data Attribute

mdhansen5

macrumors member
Original poster
Nov 22, 2010
43
0
Colorado
I'm quite the newbie at Core Data, so please bear with me. ;)

In my Data Model, I have a single entity called "Item", with 2 attributes, "Section" and "Name." I already have the UITableView (my main view) populated using by Name, but I want to divide the TableView into 3 different sections, determined by attribute "section." I'm thinking that the "section" attribute should be an integer, so 0 would be the first section, 1 would be the second and 2 would be the third.

I really am not sure how to divide the TableView into the sections. I'm using NSFetchedResultsController. Here's the current code.

Code:
- (void)setupFetchedResultsController
{
    // 1 - Decide what Entity you want
    NSString *dbEntityName = @"Item"; // Put your entity name here
    
    // 2 - Request that Entity
    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:dbEntityName];
    
    // 3 - Filter it if you want
    //request.predicate = [NSPredicate predicateWithFormat:@"Item.name = what"];
    
    // 4 - Sort it if you want
    request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"name"
                                                                                     ascending:YES
                                                                                      selector:@selector(localizedCaseInsensitiveCompare:)]];
    // 5 - Fetch it
    self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                                        managedObjectContext:self.managedObjectContext
                                                                          sectionNameKeyPath:nil
                                                                                   cacheName:nil];
    [self performFetch];
}
Also, I was wondering if the Fetch Request template inside the data model in Xcode would help out at all. I see how to create the fetch request, but not how to make it do anything with what it fetches (ex: put the fetched data into a certain TableView section.)

If anyone could help out, it would be greatly appreciated.
 

Scott90

macrumors 6502
Jul 14, 2008
273
0
The sectionNameKeyPath argument is what defines your sections. If you set that to the attribute that indicates what your sections are, the table view will automatically include sections.
 

mdhansen5

macrumors member
Original poster
Nov 22, 2010
43
0
Colorado
The sectionNameKeyPath argument is what defines your sections. If you set that to the attribute that indicates what your sections are, the table view will automatically include sections.
Alright thanks. So in my case would it just be sectionNameKeyPath:mad:"Section" or would it be sectionNameKeyPath:section. I've never tried sections before, so this is all new to me. Thank you! :D
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.