嗨我正在制作一个应用程序,显示我有趣的地方。它显示半径的地方。我正在使用REALM来存储值。 但是,领域不知道如何制作唯一值。我正在使用这个独特的行。Swift REALM - 按距离排序,过滤和存储唯一值
let result:[String] = realm.objects(E21).sorted("name").uniqueValue("Id_prov", type: String.self)
这寻找我
var datasourceE21Distance:Results<E21> = realm.findInRegion(E21.self, region: curentRegion).filter(tempRequest)
周围区域的事情,但我不知道如何把这些东西结合为一,然后对它进行排序,从关闭一个给我的最远处。
我会很高兴在这里得到任何帮助。
编辑我使用发现这两个扩展:
func findInRegion<T: Object>(type: T.Type, region: MKCoordinateRegion, latitudeKey: String = "lat", longitudeKey: String = "lng") -> Results<T> {
// Query
return self
.objects(type)
.filterGeoBox(region.geoBox, latitudeKey: latitudeKey, longitudeKey: longitudeKey)
}
func uniqueValue<U : Equatable>(paramKey: String, type: U.Type)->[U]{
var uniqueValues : [U] = [U]()
for obj in self {
if let val = obj.valueForKeyPath(paramKey) {
if (!uniqueValues.contains(val as! U)) {
uniqueValues.append(val as! U)
}
}
}
return uniqueValues
}