2009-05-31 53 views
0

除非我遗漏了文档中的某些内容,否则我无法看到是否可以执行NSFetchRequest,以便返回对象的属性数组而不是对象本身。NSFetchRequest - 它可以返回一组属性?

例如,我有:

@interface SaleDate { 
NSDate *open; 
NSDate *close; 
Sale *sale; 
} 

我想查询像close >= $today。然而,这给了我一个SaleDate数组,当我真正想要的是一个独特的Sale数组。我用这个NSFetchedResultsController,所以需要它来处理Sale对象。

顺便说一句,我有另一个(首选)查询工作时使用二进制存储 - 这是SQLite商店,让我去尽管箍找到一个备用但等效的查询。

回答

1

iPhone OS 2.x和Mac OS X 10.5没有此功能。

请参阅适用于iPhone OS 3.0的NSFetchRequest文档。

特别是,你想看看

-setResultType: 
-setReturnsDistinctResults: 
-setPropertiesToFetch: 
1

如果你有SaleDate的数组,并希望出售的数组,只写:

NSArray *arrayOfSale = [arrayOfSaleDate valueForKeyPath:"@sale"]; 

这假定SaleDate是KVC-符合“销售”成员。如果SaleDate是托管对象,“销售”是建模的属性,则情况已经如此。