2016-05-04 10 views
0

iOSでRealmに関する質問があります。レルムで最も表現された価値を得るには?

私はこのようになります私のレルムDB内のオブジェクトいる

:私はそれらのデータと私のテーブルを移入

class MyObject: Object { 
    dynamic var id: Int! 
    dynamic var val: String! 
} 

レッツを言う:

| id | val | 
|----|-----| 
| 1 | A | 
| 2 | B | 
| 3 | A | 
| 4 | B | 
| 5 | A | 
| 6 | A | 

返すために私のレルムDBを照会することができますどのように最も代表的な値はA?

おかげ

答えて

1

レルムは、まさにそれをやるネイティブクエリを持っていませんが、あなたはかなり簡単にこれを取得するためにNSCountedSetとレルムのKVCのサポートを組み合わせることができます。

import Foundation 
import RealmSwift 

class MyObject: Object { 
    dynamic var id: Int = 0 
    dynamic var val: String = "" 
} 

let realm = try! Realm() 
try! realm.write { 
    for (index, value) in ["A", "B", "A", "B", "A", "A"].enumerate() { 
     realm.create(MyObject.self, value: [index, value]) 
    } 
} 

let values = realm.objects(MyObject).valueForKey("val") as! [AnyObject] 
let countedSetOfValues = NSCountedSet(array: values) 
let maxElement = countedSetOfValues.allObjects.maxElement { first, second in 
    return countedSetOfValues.countForObject(first) < countedSetOfValues.countForObject(second) 
} 
maxElement // => "A" 
+0

を私が探していたまさにために。ありがとうございました! – Nasedo47

関連する問題