Ios 使用领域';s在新RLMArray中的非持久性属性

Ios 使用领域';s在新RLMArray中的非持久性属性,ios,swift,realm,Ios,Swift,Realm,我正在尝试使用具有忽略属性的领域。实际上很像这篇文章 距离,该距离声明为模型属性,但实际上并未持久化,并临时用于计算和显示 然后我有这样的东西 func calculateDistance(stops:RLMResults) -> RLMArray { let currentLocation = getCurrentLocation() var results:RLMArray = RLMArray(objectClassName: Stop.className())

我正在尝试使用具有忽略属性的领域。实际上很像这篇文章
距离
,该距离声明为模型属性,但实际上并未持久化,并临时用于计算和显示

然后我有这样的东西

func calculateDistance(stops:RLMResults) -> RLMArray {
    let currentLocation = getCurrentLocation()
    var results:RLMArray = RLMArray(objectClassName: Stop.className())
    for (var i = 0; i < Int(stops.count); i++) {
        var stop = stops[UInt(i)] as Stop
        let stopLocation = CLLocation(latitude: stop.coordinates.latitude, longitude: stop.coordinates.longitude)
        let distance = currentLocation.distanceFromLocation(stopLocation)
        if kDistanceMeters >= distance {
            println("Distance to \(stop.stopName) --> \(distance) m ---- max(\(Int(kDistanceMeters))")
            realm.beginWriteTransaction()
            stop.distance = Double(distance)
            results.addObject(stop)
            realm.commitWriteTransaction()
            println(stop.distance) // Prints out the distance. It's in the object
        }
    }
    println("Getting the results")
    println(results) // Distance property isn't there ...
    return results
}
func calculateInstance(停止:RLMResults)->RLMArray{
让currentLocation=getCurrentLocation()
var结果:RLMArray=RLMArray(objectClassName:Stop.className())
对于(var i=0;i=距离{
println(“到\(stop.stopName)-->\(Distance)m----max(\(Int(kDistanceMeters))”)
realm.beginWriteTransaction()
停止。距离=双倍(距离)
结果。添加对象(停止)
realm.commitWriteTransaction()
println(stop.distance)//打印出距离。它在对象中
}
}
println(“获取结果”)
println(results)//距离属性不存在。。。
返回结果
}
基本上,我希望使用这个新的临时
results
RLMArray,使用
distance
属性,仅在视图中显示我想要的结果。 该属性实际上是在对象上指定的,但一旦在RLMArray中,它就会消失。顺便说一句,我没有收到任何错误


我还在stackoverflow上读到,不应该这样使用被忽略的领域属性。那么,如何正确解决我的问题,将结果放入添加了其他属性的数组?转换为普通对象?

现在,您需要创建自己的按最近距离排序的对象数组。您只能在pe上查询我现在就去了