UITableView Sections基于Core Data属性

时间:2012-05-25 18:47:39

标签: uitableview core-data attributes nsfetchrequest

在我的应用程序中,我有一个由Core Data填充的UITableView,目前是一个名为“name”的字符串。我希望能够将这个tableview划分为3个部分,可以命名为0,1和2,或者1,2和3.这个名称并不重要。我目前真的不知道如何实现这一目标。我的数据模型中有一个名为“term”的新属性,这就是我希望这些部分的基础。它最好是一个整数吗?

我是iOS开发的新手,所以如果有人知道这是怎么做的,我会非常感激。

这是我当前的代码,它使用“name”属性填充tableview。

- (void)setupFetchedResultsController
{
    //1 - Entity
    NSString *entityName = @"Task"; // Put your entity name here
    NSLog(@"Setting up a Fetched Results Controller for the Entity named %@", entityName);

    //2 Request
    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:entityName];

    // 3 - Filter
    //request.predicate = [NSPredicate predicateWithFormat:@"Task.name = name"];

    // 4 - Sort
    request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"name"
}

谢谢大家!

1 个答案:

答案 0 :(得分:0)

我不明白您是否使用NSFetchedResultsController

在第一种情况下(您使用它),您可以利用它将term设置为划分部分的属性。当您使用NSFetchedResultsController创建– initWithFetchRequest:managedObjectContext:sectionNameKeyPath:cacheName:时,您可以将@"term"作为sectionNameKeyPath的参数传递。

在第二种情况下,我真的建议在处理NSFetchedResultsController时处理UITableView。设置NSFetchedResultsController确实是样本,因为您需要创建它并将其传递给NSFetchRequest。你创建的那个是好的。

有关详细信息,建议您阅读core-data-tutorial-how-to-use-nsfetchedresultscontrollerNSFetchedResultsController class reference

希望它有所帮助。

相关问题