2011-09-22 83 views
0

我想要做的是從我的核心數據實體中進行選擇,並通過date屬性進行有效分組。我可以在不使用UITableView的情況下使用NSFetchedResultsController

那麼它將返回是這樣的:

NSDictionary results { 
    NSDate 01/01/2011 => NSArray { NSManagedObject obj1, NSManagedObject obj2, NSManagedObject obj3 } 
    NSDate 02/01/2011 => NSArray { NSManagedObject obj4 } 
    NSDate 03/01/2011 => NSArray { NSManagedObject obj5, NSManagedObject obj6 } 
} 

我希望是有道理的。我不知道我是否使用了正確的課程。我聽說/讀了使用sectionNameKeyPath:@"date"幫助將表格視圖分割成幾部分。我不想這樣做,我只是想能夠訪問數組/字典結構中的部分。

你能給我一個如何使用它的例子嗎?從平時的不同:

NSArray *results = [context executeFetchRequest:...] 

我已經習慣了......

謝謝

回答

2

您可以使用一個NSFetchedResultsController沒有一個UITableView。

查看sectionIndexTitles屬性。它根據你的sectionNameKeyPath返回一個數組。在你的情況下,它應該返回一個NSDates數組。

然後,您可以使用objectAtIndexPath方法來訪問每個組中的記錄並構建一個記錄數組以加載到您的字典中。

希望這會有所幫助!

+0

是的,它的確如此。 :)謝謝你今天會嘗試。 –

+0

我認爲NSDate(納秒)的分辨率會讓這個使用起來很困難。您可能會考慮爲您的實體添加一個瞬態屬性,該屬性以正確的格式爲NSFetchedResultsController計算正確的日期。 – ImHuntingWabbits

+0

哦謝謝,但它確定。在設置日期時,我只是將日期的月份和年份組件存儲起來,並將時間存儲爲一個單獨的屬性,因爲這個確切原因。 –

相關問題