2016-05-13 11 views
0

私はいくつかのチュートリアルでネストされたセクションでUITalbeviewを作成する方法を見てきましたが、それらのすべてがテーブルデータを保持するためにあらかじめ定義された構造を使用しています。そうUITableViewとCore Dataのネストされたセクション

項SubSesction 商品アイテム サブセクション項目 サブセクション項目 商品アイテム セクションのサブセクション 項目.... など。

私は同じことをしようとしていますが、コアデータから項目を取ってみましょう。項目エンティティにはdateAddedとtimeAddedがあります。そのため、セクションはdateAddedに従い、サブセクションはtimeAddedになります。

私が得たのは、コアデータでグループ化されたセクションを作成することですが、サブセクションの情報はどのように取得できますか? result.countと辞書(セクションごとの行のようにNUM)セクションごと日ごとのアイテムの数が含まれており、グループ化されたdateAddedを(フェッチとして

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"] 

ので、私は(セクションの数)日付別のグループの数を持っています私はセクションヘッダーのために使用します)

しかし、私は今、SubSectionsのために同じようにするつもりです。私は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の一意の組合せごとのアイテムの数を取得します。だから私はこれが各セクションの各サブセクションのための項目なら数字を提供すると思います。