我warpper類CLLoaction境界過濾CLLocation
包裝
class Location: Object {
dynamic var long: Double = 0
dynamic var lat: Double = 0
}
我不得不篩選存儲Location
對於那些在1公里半徑根據我目前的位置。我認爲NSPred block with block會完成這項工作,但是realm不支持它。所以我的問題是如何以其他方式實現它? 當然,我可以做這樣的事情:
let locations = realm.objects(Location)
var locationsInRadius = [Location]()
for l in locations {
let location = CLLocation(latitude: l.lat, longitude: l.long)
if (location.distanceFromLocation(currentLocation) < radius){
locationsInRadius.append(l)
}
}
但是,根據過濾器整個領域的概念覺得不妥。
好吧..說實話,我已經做到了你說的,但我希望有知名的NSPredicate(不是基於塊)。 :) –
對不起,我不明白你的意思...這*是*使用一個衆所周知的NSPredicate進行搜索,並沒有阻止...你能解釋一下嗎?此外,這完全不同於您展示的示例......這不會像您的示例那樣加載您領域中的每個對象,只是您需要的對象。 – Donamite
提前注意到[製作中的PR](https://github.com/realm/realm-cocoa/pull/2199/files),它將此功能引入綁定,但使用相同的底層方法邊界框。 – marius