2016-05-13 46 views
0

我見過一些教程如何使用嵌套節創建UITalbeview,但所有這些教程都使用預定義結構來保存表數據。UITableView和核心數據中的嵌套部分

這樣:

科 SubSesction 項目 項目 款 項目 分段 項目 項目 項目 科 分段 項目 .... 等。

現在我正在嘗試,但從核心數據中獲取項目,讓我們的項目實體具有dateAdded和timeAdded,因此該部分將按照dateAdded和小節添加timeAdded。

我得到的是使核心數據中的分組部分,但我如何獲得SubSection信息?

let countJulianDateAdded = NSExpressionDescription() 
    countJulianDateAdded.name = "countItemsAtDate" 
    countJulianDateAdded.expression = NSExpression(format: "count:(julianDateAdded)") 
    countJulianDateAdded.expressionResultType = .Integer32AttributeType 

    let sortDateDesc = NSSortDescriptor(key: "julianDateAdded", ascending: false) 

    let fetch = NSFetchRequest(entityName: "Item") 
    fetch.sortDescriptors = [sortDateDesc] 
    fetch.resultType = .DictionaryResultType 
    fetch.propertiesToFetch = [countJulianDateAdded,"julianDateAdded"] 
    fetch.propertiesToGroupBy = ["julianDateAdded"] 

所以我將具有由日期分組的計數(區段數),爲取result.count和字典包含每部分(每部分的行,以便NUM)每日期項目計數和分組dateAdded(所以我使用它的部分標題)

但我現在卡住了,如何使相同的子節。我不知道在SQL中思考,但我有我的想法:

Select Count(dateAdded),dateAdded 
     (select count(timeAdded),timeAdded 
     from Item i2 
     where i2.dateAdded = i1.dateAdded 
     Group by timeAdded) 
from Item i1 
Group By dateAdded 

有什麼想法?

謝謝。

回答

0

如果添加timeAdded既是一個屬性讀取和屬性組的,就像這樣:

let countJulianDateAdded = NSExpressionDescription() 
countJulianDateAdded.name = "countItemsAtDate" 
countJulianDateAdded.expression = NSExpression(format: "count:(julianDateAdded)") 
countJulianDateAdded.expressionResultType = .Integer32AttributeType 

let sortDateDesc = NSSortDescriptor(key: "julianDateAdded", ascending: false) 

let fetch = NSFetchRequest(entityName: "Item") 
fetch.sortDescriptors = [sortDateDesc] 
fetch.resultType = .DictionaryResultType 
fetch.propertiesToFetch = [countJulianDateAdded,"julianDateAdded","timeAdded"] 
fetch.propertiesToGroupBy = ["julianDateAdded","timeAdded"] 

你會得到物品的julianDateAddedtimeAdded每個唯一組合的數量。所以我認爲這將提供每個部分的每個小節的項目數。