【问题标题】:UITableView Sections based on Core Data attribute基于核心数据属性的 UITableView 部分
【发布时间】:2012-05-25 18:47:39
【问题描述】:

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

我是 iOS 开发的新手,所以如果有人知道怎么做,我将不胜感激。

这是我当前使用“名称”属性填充表格视图的排序代码。

- (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"
}

谢谢大家!

【问题讨论】:

    标签: uitableview core-data attributes nsfetchrequest


    【解决方案1】:

    我不明白你是否使用NSFetchedResultsController

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

    在第二种情况下,我真的建议在处理UITableViews 时处理NSFetchedResultsControllers。设置NSFetchedResultsController 确实是一个示例,因为您需要创建它并将其传递给NSFetchRequest。你创建的没问题。

    有关更多信息,我建议阅读core-data-tutorial-how-to-use-nsfetchedresultscontrollerNSFetchedResultsController class reference

    希望对你有帮助。

    【讨论】:

    • 我正在使用 NSFecthedResultsController。非常感谢您的意见。我会试试这个。
    • @user1247573 不客气...如果您认为正确,请标记为答案。干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多