除非我遗漏了文档中的内容,否则我无法看到是否可以执行NSFetchRequest
以便它返回对象属性的数组,而不是对象本身。
例如,我有:
@interface SaleDate {
NSDate *open;
NSDate *close;
Sale *sale;
}
我想查询close >= $today
之类的内容。然而,这给了我一个SaleDate数组,当我真正想要的是一个独特的Sale数组。我正在使用NSFetchedResultsController
,因此需要它来处理Sale对象。
顺便提一下,我在使用二元存储时有另一个(首选)查询工作 - 它是SQLite存储,它让我通过箍来查找备用但等效的查询。
答案 0 :(得分:1)
iPhone OS 2.x和Mac OS X 10.5没有此功能。
请参阅适用于iPhone OS 3.0的NSFetchRequest文档。
特别是,你想看看
-setResultType:
-setReturnsDistinctResults:
-setPropertiesToFetch:
答案 1 :(得分:1)
如果您有一个SaleDate数组并想要一个Sale数组,请写下:
NSArray *arrayOfSale = [arrayOfSaleDate valueForKeyPath:"@sale"];
这假设SaleDate符合“销售”会员的KVC标准。如果SaleDate是一个托管对象,而“sale”是一个建模属性,情况已经如此。