0
トウrealm
オブジェクトクラスは、Entry
で、その他はWork
です。 below.the Entry
クラスはすぐに領域オブジェクトの配列を集計する
open class Entry: Object {
dynamic open var date = Entry.defaultDate()
dynamic open var quantity = 0.0
dynamic open var percentage = 0.0
dynamic open var goal = 0.0
open let gulps = List<Work>()
}
で、Work
クラスは次のようになりますようにモデルのシナリオが見えています。
open class Work: Object {
dynamic var quantity = 0.0
dynamic var type = 0
}
いくつかのデータを挿入した後にEntry
オブジェクトがこのように見えます。
(Entry {
date = 2017-11-29;
quantity = 1.193675890564919;
percentage = 59.68379452824593;
goal = 2;
gulps = RLMArray <0x6040000e7800> (
[0] Work {
quantity = 0.5;
type = 0;
},
[1] Work {
quantity = 0.5;
type = 1;
},
[2] Work {
quantity = 0.09683794528245926;
type = 0;
},
[3] Work {
quantity = 0.09683794528245926;
type = 2;
}
);
})
は、今私はこのエントリの配列があるべきtype.So配列インデックスがWork
に応じですWork
種類に応じて合計数量が含まれている配列を作るしようとしています。
[0.59683,0.5,0.09683794528245926]
この配列を効率的に生成するにはどうすればよいですか?
あなたの答えに感謝しかし、これは私がオブジェクトfor.Theお願いいたしものではありませんが、迅速なオブジェクトではありませんそれはですrealmオブジェクトと私はまた、** work type **に従って合算して新しい配列を作成することを求めます。もしあなたが5つの作業オブジェクトを持っていたら、2つの作業オブジェクトと作業タイプ5が別の3私の配列は型1と型5の合計である2つの要素を持つ必要があります。ありがとう。 – Rumy
あなたは '[0.59683,0.5,0.09683794528245926]'のような出力を求めました。あなたは合計でグループ化したいならば、あなたはあなたを編集you.Can実際に私が得ていないのですアレイ内のすべてのユニークな仕事の種類のリストを取得し、各作業の種類 – Scriptable
の合計を取得するにはマップやフィルタを使用するフィルタを使用することができます私はあなたのポイントを理解することができます。別のポイント私は '仕事の種類'は静的ではないと言う必要がありますそれはユーザーからの入力です。私はまた、効率的なコーディングを探している実際のデータベースは、 'per entry'はかなり大きいです。もし私が本当の採石場になればいいですね。おかげです。 – Rumy