gpt4 book ai didi

iphone - NSFetchedResultController 多重限制和排序

转载 作者:行者123 更新时间:2023-11-29 11:00:03 26 4
gpt4 key购买 nike

你好,我的核心数据表有问题,类似这样

+-----------------------+
|person |
+-----------------------+
|name |
|address |
|birthDate |
|gender |
+-----------------------+

在我的 FetchedResultController 中,我通过性别 MaleFemale 将其分成两部分。问题是我希望 Male 部分按其 birthDate 排序并且只限制 5 行,在 Female 部分我想按其 name 和 No Limit.

我可以在一个 FetchedResultController 中完成吗,或者我需要 2 个 FetchedResultController。或者如果有其他方法可以让我知道。

谢谢

最佳答案

如果您定义自己的排序方法,您可以使用一个 NSFetchedResultController 来完成。它会是这样的:

- (NSString *) sortBy
{ return (Male == self.gender ? self.birthDate : self.name); }

然后在 Controller 的配置中提供sortBy。请注意,正如@Martin R 指出的那样,您可能无法使用 Objective-C 方法进行排序;如果不是,则定义另一个属性 'sortOrder' 并在对象创建时计算它。

至于限制,不确定,但也许可以在 tableView:numberOfRowsInSection: Apple 给出这个例子:

- (NSInteger) tableView: (UITableView *) table 
numberOfRowsInSection: (NSInteger) section
{
id <NSFetchedResultsSectionInfo> sectionInfo =
[[<#Fetched results controller#> sections] objectAtIndex:section];
return [sectionInfo numberOfObjects];
}

当该部分是“男性”部分时,也许您可​​以返回“3”。

关于iphone - NSFetchedResultController 多重限制和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16351710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com