2009-05-31 55 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是託管對象,「銷售」是建模的屬性,則情況已經如此。