gpt4 book ai didi

swift - 如何获得Realm中最具代表性的值(value)?

转载 作者:行者123 更新时间:2023-11-30 10:04:05 24 4
gpt4 key购买 nike

我对 iOS 上的 Realm 有疑问。

我的 Realm 数据库中有一个对象,如下所示:

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 |

如何查询我的 Realm DB 以返回最具代表性的值 A?

谢谢

最佳答案

Realm 没有完全可以做到这一点的 native 查询,但您可以将 Realm 的 KVC 支持与 NSCountedSet 结合起来。很容易得到这个:

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"

关于swift - 如何获得Realm中最具代表性的值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37036628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com