我有一个这样的数组:
var arrayPoints:Variable<[Point]>?
之后,用户可以像这样对列表进行排序:
func orderPointsByDistance(){
self.arrayPoints?.value.sort{ $0.stringDistance.compare($1.stringDistance) == .orderedAscending }
}
但是我收到这个错误:
fatal error: Executing on backgound thread.
Please use MainScheduler.instance.schedule to schedule work on main thread.: file /Users/dasilvans/Desktop/GeoPlay/Pods/RxSwift/RxSwift/Rx.swift, line 23
在某种程度上,我察觉到错误,但不知道如何解决它。任何建议吗? 试试这个,我认为你阻塞了rx当这样做
let stuff = Array(self.arrayPoints?.value)
stuff.sort{ $0.stringDistance.compare($1.stringDistance) == .orderedAscending }
self.arrayPoints?.value = stuff
还是
DispatchQueue.main.async {
}