【问题标题】:Some sorting problems (Core Data beginner)一些排序问题(Core Data 初学者)
【发布时间】:2010-08-27 02:13:24
【问题描述】:

也许有一个简单的解决方案,但我对此感到头疼,我对所有这些核心数据的东西都很陌生:

我有一个带有“索引”属性的 BankAccount 类/实体,用于排序,以及与 Transaction 类/实体的“交易”对多关系。这个 Transaction 实体有一个“日期”属性,我也想用它来排序。

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:[NSEntityDescription entityForName:@"BankAccount" inManagedObjectContext:self.managedObjectContext]];
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"index" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];

这很好用,并为我提供了按“索引”很好地排序的 BankAccount 对象。但是,每个 BankAccount 对象都包含一个 NSSet “事务”,当然,它根本没有排序。我怎样才能让这些交易按“日期”属性排序,这可能在同一个提取请求中吗?

非常感谢。

【问题讨论】:

    标签: iphone objective-c sorting core-data nssortdescriptor


    【解决方案1】:

    为此,您需要获取已订购的交易。

    你需要的是:

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    [fetchRequest setEntity:[NSEntityDescription entityForName:@"Transaction"
                                        inManagedObjectContext:self.managedObjectContext]]; 
    [fetchRequest setPropertiesToFetch :[NSArray arrayWithObjects:@"date", @"bankAccount", nil]];
    [fetchRequest setSortDescriptors:[NSArray arrayWithObjects:
                                      [[[NSSortDescriptor alloc] initWithKey:@"date"
                                                                   ascending:YES
                                                                    selector:@selector(compare:)] autorelease],
                                      [[[NSSortDescriptor alloc] initWithKey:@"bankAccount.index"
                                                                   ascending:YES] autorelease],
                                      nil]];
    

    我假设Transaction 是交易实体的名称,bankAccount 是实体TransactionBankAccount 的关系。

    【讨论】:

    • 在哪里可以得到预期的结果?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-16
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多