RxSwift可观察数组排序

问题描述 投票:2回答:3

我试图对一个可观察的数组进行排序,并没有任何运气(RxSwift n00b)

let items = [AnyObject]? 
let locations = Observable.just(items)

我希望在地点上实现这样的目标

items.sortInPlace({$0.name < $1.name})

任何指针将不胜感激!

swift sorting observable rx-swift
3个回答
4
投票

我的解决方案

Observable
   .just(items)
   .map({ (items) -> [AnyObject] in
       return items.sorted(by: { (item1, item2) -> Bool in
          return item1.name < item2.name
       })
   })
   ....

1
投票

我估计

  1. 启动Variable([AnyObject]())的位置
  2. 设置位置asObservable
  3. 排序为locations.value.sortInPlace({$0.name < $1.name})

感觉不错!


0
投票

(Swift 4)这对我来说很有用,其中datasource是一个Variable数组

var datasource = Variable<[String]>.init([])

_ = self.datasource.value.sort(by: {$0.name < $1.name})

希望能帮助到你

© www.soinside.com 2019 - 2024. All rights reserved.