Dividing UITableView into sections by Core Data Attribute

Discussion in 'iOS Programming' started by mdhansen5, May 28, 2012.

  1. macrumors member

    Nov 22, 2010
    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.

    - (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"
        // 5 - Fetch it
        self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
        [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.
  2. macrumors 6502

    Jul 14, 2008
    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.
  3. thread starter macrumors member

    Nov 22, 2010
    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
  4. macrumors regular

    Aug 28, 2008

Share This Page