NSFetchedResultsController,每个部分具有预定义的行数

时间:2016-09-14 21:19:41

标签: ios objective-c core-data

我正在使用NSFetchedResultsController从核心数据中获取数据并在UITableView中加载内容。我需要在tableView中显示带有节的数据,每个节应该显示预定义的行。

假设我有公司和员工表,公司与员工之间可能存在关系。我想限制显示的员工数量取决于公司。请找到模型图

enter image description here

以下是我要找的其中一个。

CompanyA - 5名员工

CompanyB - 10名员工

CompanyC - 10名员工

CompanyD - 15名员工 ....等等

下面的代码我用来从核心数据中获取记录,

NSFetchRequest *fetch = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Employee" inManagedObjectContext:moc];

NSPredicate *pred = [NSPredicate predicateWithFormat:@"employeeID IN %@", employeeIDs];
fetch.predicate = pred;

NSSortDescriptor *sortTime = [NSSortDescriptor sortDescriptorWithKey:@"employeeID" ascending:YES];

fetch.sortDescriptors = @[sortTime, sortGroup];

NSFetchedResultsController *controller = [[NSFetchedResultsController alloc] initWithFetchRequest:fetch
                                                                             managedObjectContext:self.managedObjectContext
                                                                               sectionNameKeyPath:@"company.companyID"
                                                                                        cacheName:nil];

我找到了NSFetchRequest的“ fetchLimit ”属性,但此属性限制了总提取记录。

提前致谢。

0 个答案:

没有答案